Ejemplo n.º 1
0
class TapClockify(Tap):
    """Clockify tap class."""

    name = "tap-clockify"

    config_jsonschema = th.PropertiesList(
        th.Property("api_key", th.StringType, required=True),
        th.Property("workspace", th.StringType, required=True),
        th.Property("start_date", th.DateTimeType),
    ).to_dict()

    def discover_streams(self) -> List[Stream]:
        """Return a list of discovered streams."""
        return [stream_class(tap=self) for stream_class in STREAM_TYPES]
Ejemplo n.º 2
0
class TapImmuta(Tap):
    """Immuta tap class."""

    name = "tap-immuta"

    config_jsonschema = th.PropertiesList(
        th.Property("hostname", th.StringType, required=True),
        th.Property("api_key", th.StringType, required=True),
        th.Property("user_agent", th.StringType, default="tap-immuta"),
    ).to_dict()

    def discover_streams(self) -> List[Stream]:
        """Return a list of discovered streams."""
        return [stream_class(tap=self) for stream_class in STREAM_TYPES]
Ejemplo n.º 3
0
class Tapthunderboard(Tap):
    """thunderboard tap class."""
    name = "tap-thunderboard"

    # configuration
    config_jsonschema = th.PropertiesList(
        th.Property(
            "mode",
            th.StringType,
            required=True,
            description="dump | file - 'dump' mode scans for devices and dumps measurements continuously."
        ),
        th.Property(
            "dataDirectory",
            th.StringType,
            required=True,
            description="The local directory where thunderboard data can be found"
        ),
        th.Property(
            "filename",
            th.StringType,
            required=True,
            description="The name of the file in the data directory to be processed"
        ),
        th.Property(
            "truncate",
            th.BooleanType,
            required=False,
            description="Optionally cleanup the file contents after processing (Default: True)",
            default=True
        ),
        th.Property(
            "deviceId",
            th.StringType,
            required=False,
            description="An optional device id to limit output from discovered thunderboards"
        ),
    ).to_dict()

    def discover_streams(self) -> List[Stream]:
        """Return a list of discovered streams."""
        return [stream_class(tap=self) for stream_class in STREAM_TYPES]
Ejemplo n.º 4
0
class MeasurementsStream(thunderboardStream):
    """Define measurements stream."""
    name = "measurements"
    primary_keys = ["deviceId"]
    replication_key = None
    schema = th.PropertiesList(
        th.Property(
            "deviceId",
            th.IntegerType,
            description="The ID of the device that collected the measurement"),
        th.Property("when",
                    th.DateTimeType,
                    description="The instant the measurement was taken"),
        th.Property("uvIndex", th.IntegerType,
                    description="UV strength index"),
        th.Property("temperature", th.NumberType),
        th.Property("humidity", th.NumberType),
        th.Property("ambientLight", th.NumberType),
    ).to_dict()
Ejemplo n.º 5
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("project_id", th.IntegerType),
    th.Property("profile", th.IntegerType),
    th.Property("name", th.StringType),
    th.Property("iamid", th.StringType),
    th.Property("userid", th.StringType),
    th.Property("email", th.StringType),
    th.Property("type", th.StringType),
    th.Property("approved", th.BooleanType),
    th.Property("state", th.StringType),
    th.Property("systemGenerated", th.BooleanType),
    th.Property("lastExternalRefresh", th.StringType),
    th.Property("subscriptionId", th.IntegerType),
    th.Property("createdAt", th.StringType),
    th.Property("updatedAt", th.StringType),
    th.Property("approvals", th.ArrayType(th.StringType)),
    th.Property("currentUserCanApprove", th.BooleanType),
    th.Property(
        "compliance",
        th.ObjectType(
            th.Property("isMissingPurposeAcknowledgement", th.BooleanType),
            th.Property("validationFrequencyExceeded", th.BooleanType),
            th.Property("isMissingEntitlements", th.BooleanType),
            th.Property("invalidSubscriptions", th.ArrayType(th.StringType)),
            th.Property("missingDataSources", th.ArrayType(th.StringType)),
        ),
    ),
).to_dict()
Ejemplo n.º 6
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("id", th.StringType),
    th.Property("name", th.StringType),
    th.Property("email", th.StringType),
    th.Property("profilePicture", th.StringType),
    th.Property("activeWorkspace", th.StringType),
    th.Property("defaultWorkspace", th.StringType),
    th.Property("status", th.StringType),
    th.Property(
        "memberships",
        th.ArrayType(
            th.ObjectType(
                th.Property("userId", th.StringType),
                th.Property(
                    "hourlyRate",
                    th.ObjectType(
                        th.Property("amount", th.NumberType),
                        th.Property("currency", th.StringType),
                    ),
                ),
                th.Property("targetId", th.StringType),
                th.Property("membershipType", th.StringType),
                th.Property("membershipStatus", th.StringType),
            )),
    ),
).to_dict()
Ejemplo n.º 7
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("dateTime", th.StringType),
    th.Property("dataSourceName", th.StringType),
    th.Property("projectName", th.StringType),
    th.Property("recordType", th.StringType),
    th.Property("blobId", th.StringType),
    th.Property("userId", th.StringType),
    th.Property("profileId", th.IntegerType),
    th.Property("purposeIds", th.ArrayType(th.StringType)),
    th.Property("success", th.BooleanType),
    th.Property("failureReason", th.StringType),
    th.Property("id", th.StringType),
    th.Property("fingerprintVersionName", th.StringType),
    th.Property("email", th.StringType),
).to_dict()
Ejemplo n.º 8
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("deleted", th.BooleanType),
    th.Property("id", th.IntegerType),
    th.Property("name", th.StringType),
    th.Property("source", th.StringType),
    th.Property("systemCreated", th.BooleanType),
).to_dict()
Ejemplo n.º 9
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("id", th.StringType),
    th.Property("name", th.StringType),
    th.Property("workspaceId", th.StringType),
    th.Property("archived", th.BooleanType),
).to_dict()
Ejemplo n.º 10
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("id", th.StringType),
    th.Property("started_at", th.DateTimeType),
    th.Property("userId", th.StringType),
    th.Property("projectId", th.StringType),
    th.Property("taskId", th.StringType),
    th.Property("workspaceId", th.StringType),
    th.Property("billable", th.BooleanType),
    th.Property("description", th.StringType),
    th.Property("isLocked", th.BooleanType),
    th.Property("customFieldValues", th.ArrayType(th.StringType)),
    th.Property("tagIds", th.ArrayType(th.StringType)),
    th.Property(
        "timeInterval",
        th.ObjectType(
            th.Property("duration", th.StringType),
            th.Property("end", th.StringType),
            th.Property("start", th.StringType),
        ),
    ),
).to_dict()
Ejemplo n.º 11
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("project_id", th.IntegerType),
    th.Property("addedBy", th.StringType),
    th.Property("dataSourceName", th.StringType),
    th.Property("policyHandlerType", th.StringType),
    th.Property("addedOn", th.StringType),
    th.Property("dataSourceId", th.IntegerType),
    th.Property("addedByProfile", th.IntegerType),
    th.Property("comment", th.StringType),
    th.Property("deleted", th.BooleanType),
    th.Property("subscriptionType", th.StringType),
    th.Property("subscriptionStatus", th.StringType),
    th.Property("subscriptionPolicy", th.ObjectType()),
    th.Property("connectionString", th.StringType),
    th.Property("blobHandlerType", th.StringType),
    th.Property("derivedInThisProject", th.BooleanType),
).to_dict()
Ejemplo n.º 12
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("authentication", th.IntegerType),
    th.Property("createdAt", th.StringType),
    th.Property("disabled", th.BooleanType),
    th.Property("iamid", th.StringType),
    th.Property("id", th.IntegerType),
    th.Property("lastExternalRefresh", th.StringType),
    th.Property("systemGenerated", th.BooleanType),
    th.Property("updatedAt", th.StringType),
    th.Property("userid", th.StringType),
    th.Property("permissions", th.ArrayType(th.StringType)),
    th.Property(
        "profile",
        th.ObjectType(
            th.Property("createdAt", th.StringType),
            th.Property("email", th.StringType),
            th.Property("id", th.IntegerType),
            th.Property("name", th.StringType),
            th.Property("systemGenerated", th.BooleanType),
            th.Property("updatedAt", th.StringType),
        ),
    ),
).to_dict()
Ejemplo n.º 13
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("id", th.IntegerType),
    th.Property("name", th.StringType),
    th.Property("type", th.StringType),
    th.Property("template", th.BooleanType),
    th.Property("staged", th.BooleanType),
    th.Property("systemGenerated", th.BooleanType),
    th.Property("deleted", th.BooleanType),
    th.Property("createdBy", th.IntegerType),
    th.Property("createdByName", th.StringType),
    th.Property("createdAt", th.StringType),
    th.Property("updatedAt", th.StringType),
    th.Property(
        "certification",
        th.ObjectType(
            th.Property("text", th.StringType),
            th.Property("label", th.StringType),
            th.Property("tags", th.ArrayType(th.StringType)),
        ),
    ),
    th.Property(
        "actions",
        th.ArrayType(
            th.ObjectType(
                th.Property("type", th.StringType),
                th.Property(
                    "rules",
                    th.ObjectType(th.Property("type", th.StringType), ),
                ),
Ejemplo n.º 14
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("id", th.StringType),
    th.Property("name", th.StringType),
    th.Property("imageUrl", th.StringType),
    th.Property(
        "hourlyRate",
        th.ObjectType(
            th.Property("amount", th.IntegerType),
            th.Property("currency", th.StringType),
        ),
    ),
    th.Property(
        "workspaceSettings",
        th.ObjectType(
            th.Property("adminOnlyPages", th.ArrayType(th.StringType)),
            th.Property(
                "automaticLock",
                th.ObjectType(
                    th.Property("changeDay", th.StringType),
                    th.Property("dayOfMonth", th.IntegerType),
                    th.Property("firstDay", th.StringType),
                    th.Property("olderThanPeriod", th.StringType),
                    th.Property("olderThanValue", th.IntegerType),
                    th.Property("type", th.StringType),
                ),
            ),
            th.Property("canSeeTimeSheet", th.BooleanType),
            th.Property("canSeeTimeTracker", th.BooleanType),
            th.Property("defaultBillableProjects", th.BooleanType),
Ejemplo n.º 15
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("id", th.StringType),
    th.Property("projectId", th.StringType),
    th.Property("assigneeId", th.StringType),
    th.Property("name", th.StringType),
    th.Property("duration", th.StringType),
    th.Property("estimate", th.StringType),
    th.Property("status", th.StringType),
    th.Property("assigneeIds", th.ArrayType(th.StringType)),
).to_dict()
Ejemplo n.º 16
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("dataSource", th.IntegerType),
    th.Property("types", th.ArrayType(th.StringType)),
    th.Property("id", th.IntegerType),
    th.Property("createdAt", th.StringType),
    th.Property("updatedAt", th.StringType),
    th.Property(
        "metadata",
        th.ArrayType(
            th.ObjectType(
                th.Property("name", th.StringType),
                th.Property("dataType", th.StringType),
                th.Property("nullable", th.BooleanType),
                th.Property("remoteType", th.StringType),
                th.Property(
                    "tags",
                    th.ArrayType(
                        th.ObjectType(
                            th.Property("name", th.StringType),
                            th.Property("source", th.StringType),
                            th.Property("deleted", th.BooleanType),
                        )),
                ),
            )),
    ),
).to_dict()
Ejemplo n.º 17
0
class TargetAthena(Target):
    """Sample target for Athena."""

    name = "target-athena"
    config_jsonschema = th.PropertiesList(
        th.Property("s3_bucket", th.StringType, required=True),
        th.Property("athena_database", th.StringType, required=True),
        th.Property("aws_region", th.StringType, required=True),
        th.Property("aws_access_key_id", th.StringType),
        th.Property("aws_secret_access_key", th.StringType),
        th.Property("aws_session_token", th.StringType),
        th.Property("aws_profile", th.StringType),
        th.Property("s3_key_prefix", th.StringType),
        th.Property("naming_convention", th.StringType),
        th.Property("object_format", th.StringType, default='jsonl'),
        th.Property("compression", th.StringType, default='gzip'),
        th.Property("encryption_type", th.StringType),
        th.Property("encryption_key", th.StringType),
        th.Property("add_record_metadata", th.BooleanType, default=False),
        th.Property("flatten_records", th.BooleanType, default=False),
        th.Property("delimiter", th.StringType, default=","),
        th.Property("quotechar", th.StringType, default='"'),
        th.Property("temp_dir", th.StringType),
        th.Property("stream_maps", th.ObjectType()),
        th.Property("stream_map_config", th.ObjectType()),
    ).to_dict()
    default_sink_class = AthenaSink
Ejemplo n.º 18
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("id", th.StringType),
    th.Property("name", th.StringType),
    th.Property("clientId", th.StringType),
    th.Property("workspaceId", th.StringType),
    th.Property("billable", th.BooleanType),
    th.Property("archived", th.BooleanType),
    th.Property("duration", th.StringType),
    th.Property("clientName", th.StringType),
    th.Property("note", th.StringType),
    th.Property("template", th.BooleanType),
    th.Property("public", th.BooleanType),
    th.Property("color", th.StringType),
    th.Property(
        "estimate",
        th.ObjectType(
            th.Property("estimate", th.StringType),
            th.Property("type", th.StringType),
        ),
    ),
    th.Property(
        "hourlyRate",
        th.ObjectType(
            th.Property("amount", th.NumberType),
            th.Property("currency", th.StringType),
        ),
    ),
).to_dict()
Ejemplo n.º 19
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("id", th.IntegerType),
    th.Property("name", th.StringType),
    th.Property("acknowledgement", th.StringType),
    th.Property("description", th.StringType),
    th.Property("addedByProfile", th.IntegerType),
    th.Property("displayAcknowledgement", th.BooleanType),
    th.Property("deleted", th.BooleanType),
    th.Property("systemGenerated", th.BooleanType),
    th.Property("createdAt", th.StringType),
    th.Property("updatedAt", th.StringType),
).to_dict()
Ejemplo n.º 20
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("data_source_id", th.IntegerType),
    th.Property("profile", th.IntegerType),
    th.Property("name", th.StringType),
    th.Property("iamid", th.StringType),
    th.Property("userid", th.StringType),
    th.Property("email", th.StringType),
    th.Property("admin", th.StringType),
    th.Property("approved", th.BooleanType),
    th.Property("state", th.StringType),
    th.Property("systemGenerated", th.BooleanType),
    th.Property("lastExternalRefresh", th.StringType),
    th.Property("subscriptionId", th.IntegerType),
    th.Property("createdAt", th.StringType),
    th.Property("updatedAt", th.StringType),
    th.Property("approvals", th.ArrayType(th.StringType)),
).to_dict()
Ejemplo n.º 21
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("id", th.IntegerType),
    th.Property("iamid", th.StringType),
    th.Property("name", th.StringType),
    th.Property("gid", th.StringType),
    th.Property("email", th.StringType),
    th.Property(
        "authorizations",
        th.ObjectType(th.Property("name", th.StringType), ),
    ),
    th.Property("description", th.StringType),
    th.Property("createdAt", th.StringType),
    th.Property("updatedAt", th.StringType),
).to_dict()
Ejemplo n.º 22
0
from singer_sdk import typing as th

schema = th.PropertiesList(
    th.Property("name", th.StringType),
    th.Property("recordFormat", th.StringType),
    th.Property("description", th.StringType),
    th.Property("policyHandler", th.ObjectType()),
    th.Property("sqlSchemaName", th.StringType),
    th.Property("sqlTableName", th.StringType),
    th.Property("blobHandler", th.ObjectType()),
    th.Property("createdBy", th.IntegerType),
    th.Property("deleted", th.BooleanType),
    th.Property("type", th.StringType),
    th.Property("recordCount", th.IntegerType),
    th.Property("rowCount", th.IntegerType),
    th.Property("documentation", th.StringType),
    th.Property("statsExpiration", th.StringType),
    th.Property("id", th.IntegerType),
    th.Property("blobHandlerType", th.StringType),
    th.Property("policyHandlerType", th.StringType),
    th.Property("subscriptionType", th.StringType),
    th.Property("subscriptionPolicy", th.ObjectType()),
    th.Property("globalPolicies", th.ArrayType(th.ObjectType())),
    th.Property("status", th.StringType),
    th.Property("statusInfo", th.ObjectType()),
    th.Property("expiration", th.StringType),
    th.Property("catalogMetadata", th.StringType),
    th.Property("workspace", th.StringType),
    th.Property("seeded", th.BooleanType),
    th.Property("schemaEvolutionId", th.IntegerType),
    th.Property("connectionString", th.StringType),