JOB_SEQUENCE_BUILDER_JSON = {
    'type': 'object',
    'properties': {
        'name': {'type': 'string'},
        'description': {'type': 'string'},
        'startTimeEnabled': {'type': 'boolean'},
        'startTime': {'type': 'integer', 'format': 'int64'},
        'repeatEnabled': {'type': 'boolean'},
        'crontabMask': {'type': 'string'},
        'endTimeCondition': {'type': 'string', 'enum': ['NEVER', 'ON']},
        'endTime': {'type': 'integer', 'format': 'int64'},
        'timezone': {'type': 'string'},
        'status': {'type': 'string', 'enum': ['INACTIVE', 'ACTIVE', 'DISABLED', 'ERROR']},
    },
}

JOB_SEQUENCE_EMPTY_JSON = {
    "id": None,
    "name": None,
    "description": None,
    "startTime": None,
    "endTime": None,
    "timezone": None,
    "crontabMask": None,
    "status": None,
    "startTimeEnabled": None,
    "repeatEnabled": None,
    "endTimeCondition": None,
    "nextRunTime": None,
}

PIPELINE_BUILDER_JSON = {
    "pipelineId": 1,
    "commitId": 1,
    "name": "Test Pipeline",
    "version": 1,
    "sdcId": "f0c68f66-9bf9-41cb-869a-2f703970d356",
    "pipelineConfig": {
        "schemaVersion": 6,
        "version": 39,
        "pipelineId": None,
        "title": "Pipeline Test",
        "description": "",
        "uuid": "13ee6ba6-f738-459c-b7e1-0002f2d13248",
        "configuration": [],
        "uiInfo": {},
        "info": {},
        "fragments": [],
        "stages": [],
        "errorStage": {
            "instanceName": "errorStageStageInstance",
            "library": "streamsets-datacollector-basic-lib",
            "stageName": "com_streamsets_pipeline_stage_destination_devnull_ToErrorNullDTarget",
            "stageVersion": "1",
            "configuration": [],
            "uiInfo": {"stageType": "TARGET", "label": "Error -Discard"},
            "inputLanes": [],
            "outputLanes": [],
            "eventLanes": [],
            "services": [],
        },
    },
}


PIPELINE_BUILDER_DEFINITIONS_JSON = {
    'stages': [
        {  # snowflake destination
            "services": [],
            "description": "Fast data upload to Snowflake with Data Drift and CDC support",
            "name": "com_streamsets_pipeline_stage_destination_snowflake_SnowflakeDTarget",
            "type": "TARGET",
            "className": "com.streamsets.pipeline.stage.destination.snowflake.SnowflakeDTarget",
            "label": "Snowflake",
            "version": "18",
            "library": "streamsets-datacollector-sdc-snowflake-lib",
            "libraryLabel": "Snowflake Library",
            "configDefinitions": [
                {
                    "fieldName": "snowflakeConnectionSelection",
                    "description": "",
                    "name": "config.snowflake.snowflakeConnectionSelection",
                    "type": "MODEL",
                    "defaultValue": "MANUAL",
                    "label": "Connection",
                    "connectionType": "STREAMSETS_SNOWFLAKE",
                    "model": {
                        "labels": ["None"],
                        "values": ["MANUAL"],
                        "configDefinitions": None,
                        "modelType": "VALUE_CHOOSER",
                        "compositeConfigDefinitions": None,
                        "valuesProviderClass": "com.streamsets.pipeline.api."
                        "ConnectionDef$Constants$ConnectionChooserValues",
                        "filteringConfig": "",
                    },
                }
            ],
            "icon": "snowflake.png",
            "errorStage": False,
            "outputStreamLabels": None,
            "variableOutputStreams": False,
            "outputStreams": 0,
            "outputStreamLabelProviderClass": None,
            "inputStreamLabels": None,
            "inputStreams": -1,
            "inputStreamLabelProviderClass": "com.streamsets.pipeline.api.StageDef$DefaultInputStreams",
            "resetOffset": False,
            "outputStreamsDrivenByConfig": "",
            "producingEvents": False,
            "preconditions": True,
            "statsAggregatorStage": False,
        },
        {
            'services': [],
            'label': 'Trash',
            'name': 'com_streamsets_pipeline_stage_destination_devnull_NullDTarget',
            'type': 'TARGET',
            'className': 'com.streamsets.pipeline.stage.destination.devnull.NullDTarget',
            'version': '1',
            'eventDefs': [],
            'library': 'streamsets-datacollector-basic-lib',
            'privateClassLoader': False,
            'libraryLabel': 'Basic',
            'configDefinitions': [],
            'explorerSchema': None,
            'configGroupDefinition': {'classNameToGroupsMap': {}, 'groupNameToLabelMapList': []},
            'compositeConfigDefinitions': [],
            'icon': 'trash.png',
            'pipelineLifecycleStage': False,
            'statsAggregatorStage': False,
            'errorStage': False,
            'rawSourceDefinition': None,
            'outputStreamLabels': None,
            'variableOutputStreams': False,
            'outputStreams': 0,
            'outputStreamLabelProviderClass': None,
            'inputStreamLabels': None,
            'inputStreams': -1,
            'inputStreamLabelProviderClass': 'com.streamsets.pipeline.api.StageDef$DefaultInputStreams',
            'connectionVerifierStage': False,
            'offsetCommitTrigger': False,
            'executionModes': [
                'STANDALONE',
                'CLUSTER_BATCH',
                'CLUSTER_YARN_STREAMING',
                'CLUSTER_MESOS_STREAMING',
                'EDGE',
                'EMR_BATCH',
            ],
            'resetOffset': False,
        },
        {
            'label': 'Dev Data Generator',
            'services': [],
            'description': 'Generates records with the specified field names based on the selected data type. For development only.',
            'name': 'com_streamsets_pipeline_stage_devtest_RandomDataGeneratorSource',
            'type': 'SOURCE',
            'className': 'com.streamsets.pipeline.stage.devtest.RandomDataGeneratorSource',
            'version': '6',
            'pipelineLifecycleStage': False,
            'eventDefs': [],
            'library': 'streamsets-datacollector-dev-lib',
            'privateClassLoader': False,
            'libraryLabel': 'Dev (for development only)',
            'configDefinitions': [
                {
                    'fieldName': 'delay',
                    'max': 2147483647,
                    'label': 'Delay Between Batches',
                    'description': 'Milliseconds to wait before sending the next batch',
                    'name': 'delay',
                    'type': 'NUMBER',
                    'defaultValue': 1000,
                    'lines': 0,
                    'mode': 'text/plain',
                    'model': None,
                    'required': True,
                    'min': 0,
                    'dependsOnMap': {},
                    'dependsOn': '',
                    'explorerConfig': None,
                    'group': 'DATA_GENERATOR',
                    'evaluation': 'IMPLICIT',
                    'elDefs': None,
                    'upload': 'NO',
                    'displayMode': 'ADVANCED',
                    'triggeredByValues': None,
                    'displayPosition': 0,
                    'connectionType': '',
                    'requiredForExplorerLoad': False,
                    'placeholder': {'text': ''},
                    'elFunctionDefinitionsIdx': [
                        '1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6',
                        '7',
                        '8',
                        '9',
                        '10',
                        '11',
                        '12',
                        '13',
                        '14',
                        '15',
                        '16',
                        '17',
                        '18',
                        '19',
                        '20',
                        '21',
                        '22',
                        '23',
                        '24',
                        '25',
                        '26',
                        '27',
                        '28',
                        '29',
                        '30',
                        '31',
                        '32',
                        '33',
                        '34',
                        '35',
                        '36',
                        '37',
                        '38',
                        '39',
                        '40',
                        '41',
                        '42',
                        '43',
                        '44',
                        '45',
                        '46',
                        '47',
                        '48',
                        '49',
                        '50',
                        '51',
                        '52',
                        '53',
                        '54',
                        '55',
                        '56',
                        '57',
                        '58',
                        '59',
                        '60',
                        '61',
                        '62',
                        '63',
                        '64',
                    ],
                    'elConstantDefinitionsIdx': ['65'],
                    'constraints': [],
                },
                {
                    'fieldName': 'numberOfRecords',
                    'max': 2147483647,
                    'label': 'Records to be Generated',
                    'description': 'Number of records to be generated. 0 means infinite',
                    'name': 'numberOfRecords',
                    'type': 'NUMBER',
                    'defaultValue': 0,
                    'lines': 0,
                    'mode': 'text/plain',
                    'model': None,
                    'required': True,
                    'min': 0,
                    'dependsOnMap': {},
                    'dependsOn': '',
                    'explorerConfig': None,
                    'group': 'DATA_GENERATOR',
                    'evaluation': 'IMPLICIT',
                    'elDefs': None,
                    'upload': 'NO',
                    'displayMode': 'ADVANCED',
                    'triggeredByValues': None,
                    'displayPosition': 0,
                    'connectionType': '',
                    'requiredForExplorerLoad': False,
                    'placeholder': {'text': ''},
                    'elFunctionDefinitionsIdx': [
                        '1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6',
                        '7',
                        '8',
                        '9',
                        '10',
                        '11',
                        '12',
                        '13',
                        '14',
                        '15',
                        '16',
                        '17',
                        '18',
                        '19',
                        '20',
                        '21',
                        '22',
                        '23',
                        '24',
                        '25',
                        '26',
                        '27',
                        '28',
                        '29',
                        '30',
                        '31',
                        '32',
                        '33',
                        '34',
                        '35',
                        '36',
                        '37',
                        '38',
                        '39',
                        '40',
                        '41',
                        '42',
                        '43',
                        '44',
                        '45',
                        '46',
                        '47',
                        '48',
                        '49',
                        '50',
                        '51',
                        '52',
                        '53',
                        '54',
                        '55',
                        '56',
                        '57',
                        '58',
                        '59',
                        '60',
                        '61',
                        '62',
                        '63',
                        '64',
                    ],
                    'elConstantDefinitionsIdx': ['65'],
                    'constraints': [],
                },
                {
                    'fieldName': 'eventName',
                    'max': 9223372036854775807,
                    'label': 'Event Name',
                    'description': 'Name of event that should be used when generating events.',
                    'name': 'eventName',
                    'type': 'STRING',
                    'defaultValue': 'generated-event',
                    'lines': 0,
                    'mode': 'text/plain',
                    'model': None,
                    'required': True,
                    'min': -9223372036854775808,
                    'dependsOnMap': {},
                    'dependsOn': '',
                    'explorerConfig': None,
                    'group': 'DATA_GENERATOR',
                    'evaluation': 'IMPLICIT',
                    'elDefs': None,
                    'upload': 'NO',
                    'displayMode': 'ADVANCED',
                    'triggeredByValues': None,
                    'displayPosition': 0,
                    'connectionType': '',
                    'requiredForExplorerLoad': False,
                    'placeholder': {'text': ''},
                    'elFunctionDefinitionsIdx': [
                        '1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6',
                        '7',
                        '8',
                        '9',
                        '10',
                        '11',
                        '12',
                        '13',
                        '14',
                        '15',
                        '16',
                        '17',
                        '18',
                        '19',
                        '20',
                        '21',
                        '22',
                        '23',
                        '24',
                        '25',
                        '26',
                        '27',
                        '28',
                        '29',
                        '30',
                        '31',
                        '32',
                        '33',
                        '34',
                        '35',
                        '36',
                        '37',
                        '38',
                        '39',
                        '40',
                        '41',
                        '42',
                        '43',
                        '44',
                        '45',
                        '46',
                        '47',
                        '48',
                        '49',
                        '50',
                        '51',
                        '52',
                        '53',
                        '54',
                        '55',
                        '56',
                        '57',
                        '58',
                        '59',
                        '60',
                        '61',
                        '62',
                        '63',
                        '64',
                    ],
                    'elConstantDefinitionsIdx': ['65'],
                    'constraints': [],
                },
                {
                    'fieldName': 'batchSize',
                    'max': 2147483647,
                    'label': 'Batch Size',
                    'description': 'Number of records that will be generated for single batch.',
                    'name': 'batchSize',
                    'type': 'NUMBER',
                    'defaultValue': 1000,
                    'lines': 0,
                    'mode': 'text/plain',
                    'model': None,
                    'required': True,
                    'min': 1,
                    'dependsOnMap': {},
                    'dependsOn': '',
                    'explorerConfig': None,
                    'group': 'DATA_GENERATOR',
                    'evaluation': 'IMPLICIT',
                    'elDefs': None,
                    'upload': 'NO',
                    'displayMode': 'ADVANCED',
                    'triggeredByValues': None,
                    'displayPosition': 0,
                    'connectionType': '',
                    'requiredForExplorerLoad': False,
                    'placeholder': {'text': ''},
                    'elFunctionDefinitionsIdx': [
                        '1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6',
                        '7',
                        '8',
                        '9',
                        '10',
                        '11',
                        '12',
                        '13',
                        '14',
                        '15',
                        '16',
                        '17',
                        '18',
                        '19',
                        '20',
                        '21',
                        '22',
                        '23',
                        '24',
                        '25',
                        '26',
                        '27',
                        '28',
                        '29',
                        '30',
                        '31',
                        '32',
                        '33',
                        '34',
                        '35',
                        '36',
                        '37',
                        '38',
                        '39',
                        '40',
                        '41',
                        '42',
                        '43',
                        '44',
                        '45',
                        '46',
                        '47',
                        '48',
                        '49',
                        '50',
                        '51',
                        '52',
                        '53',
                        '54',
                        '55',
                        '56',
                        '57',
                        '58',
                        '59',
                        '60',
                        '61',
                        '62',
                        '63',
                        '64',
                    ],
                    'elConstantDefinitionsIdx': ['65'],
                    'constraints': [],
                },
                {
                    'fieldName': 'headerAttributes',
                    'max': 9223372036854775807,
                    'label': 'Header Attributes',
                    'description': 'Attributes to be put in the generated record header',
                    'name': 'headerAttributes',
                    'type': 'MAP',
                    'defaultValue': None,
                    'lines': 0,
                    'mode': 'text/plain',
                    'model': None,
                    'required': False,
                    'min': -9223372036854775808,
                    'dependsOnMap': {},
                    'dependsOn': '',
                    'explorerConfig': None,
                    'group': 'DATA_GENERATOR',
                    'evaluation': 'IMPLICIT',
                    'elDefs': None,
                    'upload': 'NO',
                    'displayMode': 'BASIC',
                    'triggeredByValues': None,
                    'displayPosition': 0,
                    'connectionType': '',
                    'requiredForExplorerLoad': False,
                    'placeholder': {'text': ''},
                    'elFunctionDefinitionsIdx': [
                        '1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6',
                        '7',
                        '8',
                        '9',
                        '10',
                        '11',
                        '12',
                        '13',
                        '14',
                        '15',
                        '16',
                        '17',
                        '18',
                        '19',
                        '20',
                        '21',
                        '22',
                        '23',
                        '24',
                        '25',
                        '26',
                        '27',
                        '28',
                        '29',
                        '30',
                        '31',
                        '32',
                        '33',
                        '34',
                        '35',
                        '36',
                        '37',
                        '38',
                        '39',
                        '40',
                        '41',
                        '42',
                        '43',
                        '44',
                        '45',
                        '46',
                        '47',
                        '48',
                        '49',
                        '50',
                        '51',
                        '52',
                        '53',
                        '54',
                        '55',
                        '56',
                        '57',
                        '58',
                        '59',
                        '60',
                        '61',
                        '62',
                        '63',
                        '64',
                    ],
                    'elConstantDefinitionsIdx': ['65'],
                    'constraints': [],
                },
                {
                    'fieldName': 'dataGenConfigs',
                    'max': 9223372036854775807,
                    'label': 'Fields to Generate',
                    'description': 'Fields to generate of the indicated type',
                    'name': 'dataGenConfigs',
                    'type': 'MODEL',
                    'defaultValue': None,
                    'lines': 0,
                    'mode': 'text/plain',
                    'model': {
                        'labels': None,
                        'values': None,
                        'configDefinitions': [
                            {
                                'fieldName': 'field',
                                'max': 9223372036854775807,
                                'label': 'Field Name',
                                'description': '',
                                'name': 'field',
                                'type': 'STRING',
                                'defaultValue': None,
                                'lines': 0,
                                'mode': 'text/plain',
                                'model': None,
                                'required': True,
                                'min': -9223372036854775808,
                                'dependsOnMap': {},
                                'dependsOn': '',
                                'explorerConfig': None,
                                'group': '',
                                'evaluation': 'IMPLICIT',
                                'elDefs': None,
                                'upload': 'NO',
                                'displayMode': 'BASIC',
                                'triggeredByValues': None,
                                'displayPosition': 0,
                                'connectionType': '',
                                'requiredForExplorerLoad': False,
                                'placeholder': {'text': ''},
                                'elFunctionDefinitionsIdx': [
                                    '1',
                                    '2',
                                    '3',
                                    '4',
                                    '5',
                                    '6',
                                    '7',
                                    '8',
                                    '9',
                                    '10',
                                    '11',
                                    '12',
                                    '13',
                                    '14',
                                    '15',
                                    '16',
                                    '17',
                                    '18',
                                    '19',
                                    '20',
                                    '21',
                                    '22',
                                    '23',
                                    '24',
                                    '25',
                                    '26',
                                    '27',
                                    '28',
                                    '29',
                                    '30',
                                    '31',
                                    '32',
                                    '33',
                                    '34',
                                    '35',
                                    '36',
                                    '37',
                                    '38',
                                    '39',
                                    '40',
                                    '41',
                                    '42',
                                    '43',
                                    '44',
                                    '45',
                                    '46',
                                    '47',
                                    '48',
                                    '49',
                                    '50',
                                    '51',
                                    '52',
                                    '53',
                                    '54',
                                    '55',
                                    '56',
                                    '57',
                                    '58',
                                    '59',
                                    '60',
                                    '61',
                                    '62',
                                    '63',
                                    '64',
                                ],
                                'elConstantDefinitionsIdx': ['65'],
                                'constraints': [],
                            },
                            {
                                'fieldName': 'type',
                                'max': 9223372036854775807,
                                'label': 'Field Type',
                                'description': '',
                                'name': 'type',
                                'type': 'MODEL',
                                'defaultValue': 'STRING',
                                'lines': 0,
                                'mode': 'text/plain',
                                'model': {
                                    'labels': [
                                        'STRING',
                                        'INTEGER',
                                        'LONG',
                                        'FLOAT',
                                        'DOUBLE',
                                        'DATE',
                                        'DATETIME',
                                        'ZONED_DATETIME',
                                        'TIME',
                                        'BOOLEAN',
                                        'DECIMAL',
                                        'BYTE_ARRAY',
                                        'LONG_SEQUENCE',
                                        'ADDRESS_FULL_ADDRESS',
                                        'ADDRESS_BUILDING_NUMBER',
                                        'ADDRESS_STREET_ADDRESS',
                                        'ADDRESS_CITY',
                                        'ADDRESS_STATE',
                                        'ADDRESS_COUNTRY',
                                        'ADDRESS_LATITUDE',
                                        'ADDRESS_LONGITUDE',
                                        'APP_NAME',
                                        'APP_AUTHOR',
                                        'APP_VERSION',
                                        'ARTIST_NAME',
                                        'BOOK_TITLE',
                                        'BOOK_AUTHOR',
                                        'BOOK_GENRE',
                                        'BOOK_PUBLISHER',
                                        'BUSINESS_CREDIT_CARD_NUMBER',
                                        'BUSINESS_CREDIT_CARD_EXPIRY',
                                        'BUSINESS_CREDIT_CARD_TYPE',
                                        'CAT_NAME',
                                        'CAT_BREED',
                                        'CAT_REGISTRY',
                                        'CODE_ASIN',
                                        'CODE_IMEI',
                                        'CODE_ISBN10',
                                        'CODE_ISBN13',
                                        'COLOR',
                                        'COMMERCE_DEPARTMENT',
                                        'COMMERCE_COLOR',
                                        'COMMERCE_MATERIAL',
                                        'COMMERCE_PRICE',
                                        'COMMERCE_PRODUCT_NAME',
                                        'COMMERCE_PROMOTION_CODE',
                                        'COMPANY_NAME',
                                        'COMPANY_INDUSTRY',
                                        'COMPANY_BUZZWORD',
                                        'COMPANY_URL',
                                        'CRYPTO_MD5',
                                        'CRYPTO_SHA1',
                                        'CRYPTO_SHA256',
                                        'CRYPTO_SHA512',
                                        'DEMOGRAPHIC',
                                        'EDUCATOR',
                                        'EMAIL',
                                        'FILE',
                                        'FINANCE',
                                        'FOOD',
                                        'GAMEOFTHRONES',
                                        'HACKER',
                                        'IDNUMBER',
                                        'INTERNET',
                                        'LOREM',
                                        'MUSIC',
                                        'NAME',
                                        'PHONENUMBER',
                                        'POKEMON',
                                        'RACE',
                                        'SEX',
                                        'SHAKESPEARE',
                                        'SLACKEMOJI',
                                        'SPACE',
                                        'SSN',
                                        'STOCK',
                                        'SUPERHERO',
                                        'TEAM',
                                        'UNIVERSITY',
                                    ],
                                    'values': [
                                        'STRING',
                                        'INTEGER',
                                        'LONG',
                                        'FLOAT',
                                        'DOUBLE',
                                        'DATE',
                                        'DATETIME',
                                        'ZONED_DATETIME',
                                        'TIME',
                                        'BOOLEAN',
                                        'DECIMAL',
                                        'BYTE_ARRAY',
                                        'LONG_SEQUENCE',
                                        'ADDRESS_FULL_ADDRESS',
                                        'ADDRESS_BUILDING_NUMBER',
                                        'ADDRESS_STREET_ADDRESS',
                                        'ADDRESS_CITY',
                                        'ADDRESS_STATE',
                                        'ADDRESS_COUNTRY',
                                        'ADDRESS_LATITUDE',
                                        'ADDRESS_LONGITUDE',
                                        'APP_NAME',
                                        'APP_AUTHOR',
                                        'APP_VERSION',
                                        'ARTIST_NAME',
                                        'BOOK_TITLE',
                                        'BOOK_AUTHOR',
                                        'BOOK_GENRE',
                                        'BOOK_PUBLISHER',
                                        'BUSINESS_CREDIT_CARD_NUMBER',
                                        'BUSINESS_CREDIT_CARD_EXPIRY',
                                        'BUSINESS_CREDIT_CARD_TYPE',
                                        'CAT_NAME',
                                        'CAT_BREED',
                                        'CAT_REGISTRY',
                                        'CODE_ASIN',
                                        'CODE_IMEI',
                                        'CODE_ISBN10',
                                        'CODE_ISBN13',
                                        'COLOR',
                                        'COMMERCE_DEPARTMENT',
                                        'COMMERCE_COLOR',
                                        'COMMERCE_MATERIAL',
                                        'COMMERCE_PRICE',
                                        'COMMERCE_PRODUCT_NAME',
                                        'COMMERCE_PROMOTION_CODE',
                                        'COMPANY_NAME',
                                        'COMPANY_INDUSTRY',
                                        'COMPANY_BUZZWORD',
                                        'COMPANY_URL',
                                        'CRYPTO_MD5',
                                        'CRYPTO_SHA1',
                                        'CRYPTO_SHA256',
                                        'CRYPTO_SHA512',
                                        'DEMOGRAPHIC',
                                        'EDUCATOR',
                                        'EMAIL',
                                        'FILE',
                                        'FINANCE',
                                        'FOOD',
                                        'GAMEOFTHRONES',
                                        'HACKER',
                                        'IDNUMBER',
                                        'INTERNET',
                                        'LOREM',
                                        'MUSIC',
                                        'NAME',
                                        'PHONENUMBER',
                                        'POKEMON',
                                        'RACE',
                                        'SEX',
                                        'SHAKESPEARE',
                                        'SLACKEMOJI',
                                        'SPACE',
                                        'SSN',
                                        'STOCK',
                                        'SUPERHERO',
                                        'TEAM',
                                        'UNIVERSITY',
                                    ],
                                    'configDefinitions': None,
                                    'modelType': 'VALUE_CHOOSER',
                                    'compositeConfigDefinitions': None,
                                    'filteringConfig': '',
                                    'valuesProviderClass': 'com.streamsets.pipeline.stage.devtest.TypeChooserValueProvider',
                                },
                                'required': True,
                                'min': -9223372036854775808,
                                'dependsOnMap': {},
                                'dependsOn': '',
                                'explorerConfig': None,
                                'group': '',
                                'evaluation': 'IMPLICIT',
                                'elDefs': None,
                                'upload': 'NO',
                                'displayMode': 'BASIC',
                                'triggeredByValues': None,
                                'displayPosition': 0,
                                'connectionType': '',
                                'requiredForExplorerLoad': False,
                                'placeholder': {'text': ''},
                                'elFunctionDefinitionsIdx': [
                                    '1',
                                    '2',
                                    '3',
                                    '4',
                                    '5',
                                    '6',
                                    '7',
                                    '8',
                                    '9',
                                    '10',
                                    '11',
                                    '12',
                                    '13',
                                    '14',
                                    '15',
                                    '16',
                                    '17',
                                    '18',
                                    '19',
                                    '20',
                                    '21',
                                    '22',
                                    '23',
                                    '24',
                                    '25',
                                    '26',
                                    '27',
                                    '28',
                                    '29',
                                    '30',
                                    '31',
                                    '32',
                                    '33',
                                    '34',
                                    '35',
                                    '36',
                                    '37',
                                    '38',
                                    '39',
                                    '40',
                                    '41',
                                    '42',
                                    '43',
                                    '44',
                                    '45',
                                    '46',
                                    '47',
                                    '48',
                                    '49',
                                    '50',
                                    '51',
                                    '52',
                                    '53',
                                    '54',
                                    '55',
                                    '56',
                                    '57',
                                    '58',
                                    '59',
                                    '60',
                                    '61',
                                    '62',
                                    '63',
                                    '64',
                                ],
                                'elConstantDefinitionsIdx': ['65'],
                                'constraints': [],
                            },
                            {
                                'fieldName': 'precision',
                                'max': 9223372036854775807,
                                'label': 'Precision',
                                'description': 'Precision of the generated decimal.',
                                'name': 'precision',
                                'type': 'NUMBER',
                                'defaultValue': 10,
                                'lines': 0,
                                'mode': 'text/plain',
                                'model': None,
                                'required': True,
                                'min': 0,
                                'dependsOnMap': {'type': ['DECIMAL']},
                                'dependsOn': '',
                                'explorerConfig': None,
                                'group': '',
                                'evaluation': 'IMPLICIT',
                                'elDefs': None,
                                'upload': 'NO',
                                'displayMode': 'BASIC',
                                'triggeredByValues': None,
                                'displayPosition': 0,
                                'connectionType': '',
                                'requiredForExplorerLoad': False,
                                'placeholder': {'text': ''},
                                'elFunctionDefinitionsIdx': [
                                    '1',
                                    '2',
                                    '3',
                                    '4',
                                    '5',
                                    '6',
                                    '7',
                                    '8',
                                    '9',
                                    '10',
                                    '11',
                                    '12',
                                    '13',
                                    '14',
                                    '15',
                                    '16',
                                    '17',
                                    '18',
                                    '19',
                                    '20',
                                    '21',
                                    '22',
                                    '23',
                                    '24',
                                    '25',
                                    '26',
                                    '27',
                                    '28',
                                    '29',
                                    '30',
                                    '31',
                                    '32',
                                    '33',
                                    '34',
                                    '35',
                                    '36',
                                    '37',
                                    '38',
                                    '39',
                                    '40',
                                    '41',
                                    '42',
                                    '43',
                                    '44',
                                    '45',
                                    '46',
                                    '47',
                                    '48',
                                    '49',
                                    '50',
                                    '51',
                                    '52',
                                    '53',
                                    '54',
                                    '55',
                                    '56',
                                    '57',
                                    '58',
                                    '59',
                                    '60',
                                    '61',
                                    '62',
                                    '63',
                                    '64',
                                ],
                                'elConstantDefinitionsIdx': ['65'],
                                'constraints': [],
                            },
                            {
                                'fieldName': 'scale',
                                'max': 9223372036854775807,
                                'label': 'Scale',
                                'description': 'Scale of the generated decimal.',
                                'name': 'scale',
                                'type': 'NUMBER',
                                'defaultValue': 2,
                                'lines': 0,
                                'mode': 'text/plain',
                                'model': None,
                                'required': True,
                                'min': 0,
                                'dependsOnMap': {'type': ['DECIMAL']},
                                'dependsOn': '',
                                'explorerConfig': None,
                                'group': '',
                                'evaluation': 'IMPLICIT',
                                'elDefs': None,
                                'upload': 'NO',
                                'displayMode': 'BASIC',
                                'triggeredByValues': None,
                                'displayPosition': 0,
                                'connectionType': '',
                                'requiredForExplorerLoad': False,
                                'placeholder': {'text': ''},
                                'elFunctionDefinitionsIdx': [
                                    '1',
                                    '2',
                                    '3',
                                    '4',
                                    '5',
                                    '6',
                                    '7',
                                    '8',
                                    '9',
                                    '10',
                                    '11',
                                    '12',
                                    '13',
                                    '14',
                                    '15',
                                    '16',
                                    '17',
                                    '18',
                                    '19',
                                    '20',
                                    '21',
                                    '22',
                                    '23',
                                    '24',
                                    '25',
                                    '26',
                                    '27',
                                    '28',
                                    '29',
                                    '30',
                                    '31',
                                    '32',
                                    '33',
                                    '34',
                                    '35',
                                    '36',
                                    '37',
                                    '38',
                                    '39',
                                    '40',
                                    '41',
                                    '42',
                                    '43',
                                    '44',
                                    '45',
                                    '46',
                                    '47',
                                    '48',
                                    '49',
                                    '50',
                                    '51',
                                    '52',
                                    '53',
                                    '54',
                                    '55',
                                    '56',
                                    '57',
                                    '58',
                                    '59',
                                    '60',
                                    '61',
                                    '62',
                                    '63',
                                    '64',
                                ],
                                'elConstantDefinitionsIdx': ['65'],
                                'constraints': [],
                            },
                            {
                                'fieldName': 'fieldAttributes',
                                'max': 9223372036854775807,
                                'label': 'Field Attributes',
                                'description': 'Attributes to add to the generated field',
                                'name': 'fieldAttributes',
                                'type': 'MAP',
                                'defaultValue': None,
                                'lines': 0,
                                'mode': 'text/plain',
                                'model': None,
                                'required': False,
                                'min': -9223372036854775808,
                                'dependsOnMap': {},
                                'dependsOn': '',
                                'explorerConfig': None,
                                'group': '',
                                'evaluation': 'IMPLICIT',
                                'elDefs': None,
                                'upload': 'NO',
                                'displayMode': 'BASIC',
                                'triggeredByValues': None,
                                'displayPosition': 0,
                                'connectionType': '',
                                'requiredForExplorerLoad': False,
                                'placeholder': {'text': ''},
                                'elFunctionDefinitionsIdx': [
                                    '1',
                                    '2',
                                    '3',
                                    '4',
                                    '5',
                                    '6',
                                    '7',
                                    '8',
                                    '9',
                                    '10',
                                    '11',
                                    '12',
                                    '13',
                                    '14',
                                    '15',
                                    '16',
                                    '17',
                                    '18',
                                    '19',
                                    '20',
                                    '21',
                                    '22',
                                    '23',
                                    '24',
                                    '25',
                                    '26',
                                    '27',
                                    '28',
                                    '29',
                                    '30',
                                    '31',
                                    '32',
                                    '33',
                                    '34',
                                    '35',
                                    '36',
                                    '37',
                                    '38',
                                    '39',
                                    '40',
                                    '41',
                                    '42',
                                    '43',
                                    '44',
                                    '45',
                                    '46',
                                    '47',
                                    '48',
                                    '49',
                                    '50',
                                    '51',
                                    '52',
                                    '53',
                                    '54',
                                    '55',
                                    '56',
                                    '57',
                                    '58',
                                    '59',
                                    '60',
                                    '61',
                                    '62',
                                    '63',
                                    '64',
                                ],
                                'elConstantDefinitionsIdx': ['65'],
                                'constraints': [],
                            },
                        ],
                        'modelType': 'LIST_BEAN',
                        'compositeConfigDefinitions': [],
                        'filteringConfig': None,
                        'valuesProviderClass': None,
                    },
                    'required': False,
                    'min': -9223372036854775808,
                    'dependsOnMap': {},
                    'dependsOn': '',
                    'explorerConfig': None,
                    'group': 'DATA_GENERATOR',
                    'evaluation': 'IMPLICIT',
                    'elDefs': None,
                    'upload': 'NO',
                    'displayMode': 'BASIC',
                    'triggeredByValues': None,
                    'displayPosition': 0,
                    'connectionType': '',
                    'requiredForExplorerLoad': False,
                    'placeholder': {'text': ''},
                    'elFunctionDefinitionsIdx': [],
                    'elConstantDefinitionsIdx': [],
                    'constraints': [],
                },
                {
                    'fieldName': 'numThreads',
                    'max': 2147483647,
                    'label': 'Number of Threads',
                    'description': 'Number of concurrent threads that will be generating data in parallel.',
                    'name': 'numThreads',
                    'type': 'NUMBER',
                    'defaultValue': 1,
                    'lines': 0,
                    'mode': 'text/plain',
                    'model': None,
                    'required': True,
                    'min': 1,
                    'dependsOnMap': {},
                    'dependsOn': '',
                    'explorerConfig': None,
                    'group': 'DATA_GENERATOR',
                    'evaluation': 'IMPLICIT',
                    'elDefs': None,
                    'upload': 'NO',
                    'displayMode': 'ADVANCED',
                    'triggeredByValues': None,
                    'displayPosition': 0,
                    'connectionType': '',
                    'requiredForExplorerLoad': False,
                    'placeholder': {'text': ''},
                    'elFunctionDefinitionsIdx': [
                        '1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6',
                        '7',
                        '8',
                        '9',
                        '10',
                        '11',
                        '12',
                        '13',
                        '14',
                        '15',
                        '16',
                        '17',
                        '18',
                        '19',
                        '20',
                        '21',
                        '22',
                        '23',
                        '24',
                        '25',
                        '26',
                        '27',
                        '28',
                        '29',
                        '30',
                        '31',
                        '32',
                        '33',
                        '34',
                        '35',
                        '36',
                        '37',
                        '38',
                        '39',
                        '40',
                        '41',
                        '42',
                        '43',
                        '44',
                        '45',
                        '46',
                        '47',
                        '48',
                        '49',
                        '50',
                        '51',
                        '52',
                        '53',
                        '54',
                        '55',
                        '56',
                        '57',
                        '58',
                        '59',
                        '60',
                        '61',
                        '62',
                        '63',
                        '64',
                    ],
                    'elConstantDefinitionsIdx': ['65'],
                    'constraints': [],
                },
                {
                    'fieldName': 'rootFieldType',
                    'max': 9223372036854775807,
                    'label': 'Root Field Type',
                    'description': 'Field Type for root object',
                    'name': 'rootFieldType',
                    'type': 'MODEL',
                    'defaultValue': 'MAP',
                    'lines': 0,
                    'mode': 'text/plain',
                    'model': {
                        'labels': ['MAP', 'LIST_MAP'],
                        'values': ['MAP', 'LIST_MAP'],
                        'configDefinitions': None,
                        'modelType': 'VALUE_CHOOSER',
                        'compositeConfigDefinitions': None,
                        'filteringConfig': '',
                        'valuesProviderClass': 'com.streamsets.pipeline.stage.devtest.RootTypeChooserValueProvider',
                    },
                    'required': True,
                    'min': -9223372036854775808,
                    'dependsOnMap': {},
                    'dependsOn': '',
                    'explorerConfig': None,
                    'group': 'DATA_GENERATOR',
                    'evaluation': 'IMPLICIT',
                    'elDefs': None,
                    'upload': 'NO',
                    'displayMode': 'ADVANCED',
                    'triggeredByValues': None,
                    'displayPosition': 0,
                    'connectionType': '',
                    'requiredForExplorerLoad': False,
                    'placeholder': {'text': ''},
                    'elFunctionDefinitionsIdx': [
                        '1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6',
                        '7',
                        '8',
                        '9',
                        '10',
                        '11',
                        '12',
                        '13',
                        '14',
                        '15',
                        '16',
                        '17',
                        '18',
                        '19',
                        '20',
                        '21',
                        '22',
                        '23',
                        '24',
                        '25',
                        '26',
                        '27',
                        '28',
                        '29',
                        '30',
                        '31',
                        '32',
                        '33',
                        '34',
                        '35',
                        '36',
                        '37',
                        '38',
                        '39',
                        '40',
                        '41',
                        '42',
                        '43',
                        '44',
                        '45',
                        '46',
                        '47',
                        '48',
                        '49',
                        '50',
                        '51',
                        '52',
                        '53',
                        '54',
                        '55',
                        '56',
                        '57',
                        '58',
                        '59',
                        '60',
                        '61',
                        '62',
                        '63',
                        '64',
                    ],
                    'elConstantDefinitionsIdx': ['65'],
                    'constraints': [],
                },
                {
                    'fieldName': 'stageOnRecordError',
                    'max': 9223372036854775807,
                    'label': 'On Record Error',
                    'description': 'Action to take with records sent to error',
                    'name': 'stageOnRecordError',
                    'type': 'MODEL',
                    'defaultValue': 'TO_ERROR',
                    'lines': 0,
                    'mode': 'text/plain',
                    'model': {
                        'labels': ['Discard', 'Send to Error', 'Stop Pipeline'],
                        'values': ['DISCARD', 'TO_ERROR', 'STOP_PIPELINE'],
                        'configDefinitions': None,
                        'modelType': 'VALUE_CHOOSER',
                        'compositeConfigDefinitions': None,
                        'filteringConfig': '',
                        'valuesProviderClass': 'com.streamsets.datacollector.config.OnRecordErrorChooserValues',
                    },
                    'required': True,
                    'min': -9223372036854775808,
                    'dependsOnMap': {},
                    'dependsOn': '',
                    'explorerConfig': None,
                    'group': '',
                    'evaluation': 'IMPLICIT',
                    'elDefs': None,
                    'upload': 'NO',
                    'displayMode': 'ADVANCED',
                    'triggeredByValues': None,
                    'displayPosition': 30,
                    'connectionType': '',
                    'requiredForExplorerLoad': False,
                    'placeholder': {'text': ''},
                    'elFunctionDefinitionsIdx': [
                        '1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6',
                        '7',
                        '8',
                        '9',
                        '10',
                        '11',
                        '12',
                        '13',
                        '14',
                        '15',
                        '16',
                        '17',
                        '18',
                        '19',
                        '20',
                        '21',
                        '22',
                        '23',
                        '24',
                        '25',
                        '26',
                        '27',
                        '28',
                        '29',
                        '30',
                        '31',
                        '32',
                        '33',
                        '34',
                        '35',
                        '36',
                        '37',
                        '38',
                        '39',
                        '40',
                        '41',
                        '42',
                        '43',
                        '44',
                        '45',
                        '46',
                        '47',
                        '48',
                        '49',
                        '50',
                        '51',
                        '52',
                        '53',
                        '54',
                        '55',
                        '56',
                        '57',
                        '58',
                        '59',
                        '60',
                        '61',
                        '62',
                        '63',
                        '64',
                    ],
                    'elConstantDefinitionsIdx': ['65'],
                    'constraints': [],
                },
            ],
            'icon': 'dev.png',
            'statsAggregatorStage': False,
            'errorStage': False,
            'rawSourceDefinition': None,
            'outputStreamLabels': ['Output'],
            'variableOutputStreams': False,
            'outputStreams': 1,
            'outputStreamLabelProviderClass': None,
            'inputStreamLabels': None,
            'inputStreams': -1,
            'inputStreamLabelProviderClass': 'com.streamsets.pipeline.api.StageDef$DefaultInputStreams',
            'connectionVerifierStage': False,
            'offsetCommitTrigger': False,
            'executionModes': ['STANDALONE', 'EDGE'],
            'resetOffset': False,
            'onlineHelpRefUrl': 'index.html?contextID=concept_czx_ktn_ht',
            'hideStage': [],
            'outputStreamsDrivenByConfig': '',
            'sendsResponse': False,
            'beta': False,
            'bisectable': False,
            'yamlUpgrader': 'upgrader/RandomDataGeneratorSource.yaml',
            'dynamicLabel': '',
            'onRecordError': True,
            'producingEvents': True,
            'preconditions': False,
        },
    ]
}

DEPLOYMENT_BUILDER_JSON = {
    'id': None,
    'organization': None,
    'name': None,
    'environment': None,
    'engineConfiguration': {
        'id': None,
        'organization': None,
        'stageLibs': None,
        'engineType': None,
        'engineVersionId': None,
        'engineVersion': None,
        'scalaBinaryVersion': None,
        'jvmConfig': {
            'id': None,
            'memoryConfigStrategy': None,
            'jvmMinMemory': None,
            'jvmMaxMemory': None,
            'jvmMinMemoryPercent': None,
            'jvmMaxMemoryPercent': None,
            'extraJvmOpts': None,
        },
        'externalResourcesUri': None,
        'advancedConfiguration': None,
        'labels': None,
        'lastStalenessTimestamp': None,
        'staleMessage': None,
        'creator': None,
        'createTime': None,
        'lastModifiedBy': None,
        'lastModifiedOn': None,
        'maxCpuLoad': None,
        'maxMemoryUsed': None,
        'maxPipelinesRunning': None,
    },
    'desiredInstances': None,
    'state': None,
    'status': None,
    'stateDisplayLabel': None,
    'statusDetail': None,
    'statusLastUpdated': None,
    'creator': None,
    'createTime': None,
    'lastModifiedBy': None,
    'lastModifiedOn': None,
    'deploymentTags': None,
    'rawDeploymentTags': None,
    'locked': None,
    'lockReference': None,
    'lockChangedAt': None,
    'lockChangedBy': None,
    'engineShutdownTimeout': None,
    'engineShutdownTimeoutTimestamp': None,
}

AZURE_ENVIRONMENT_JSON = {
    'id': None,
    'organization': None,
    'name': None,
    'type': 'AZURE',
    'userProvided': None,
    'credentialsType': None,
    'credentials': None,
    'allowSnapshotEngineVersions': None,
    'state': None,
    'status': None,
    'stateDisplayLabel': None,
    'statusDetail': None,
    'statusLastUpdated': None,
    'creator': None,
    'createTime': None,
    'lastModifiedBy': None,
    'lastModifiedOn': None,
    'environmentTags': None,
    'rawEnvironmentTags': None,
    'region': None,
    'vpcId': None,
    'subnetId': None,
    'securityGroupId': None,
    'resourceTags': None,
    'defaultResourceGroup': None,
    'defaultManagedIdentity': None,
}
