'Implements BaseScenarioPlatformSupport interface.
Args:
scenario_class: [class spinnaker_testing.SpinnakerTestScenario]
builder: [citest.base.ConfigBindingsBuilder]
defaults: [dict] Default binding value overrides.
This is used to initialize the default commandline parameters.'

@classmethod
def add_commandline_parameters(cls, scenario_class, builder, defaults):

    builder.add_argument('--gce_service_account', default=defaults.get('GCE_SERVICE_ACCOUNT', None), help='The    GCE    service    account    to    use    when    interacting    with    the    gce_instance.    The    default    will    be    the    default    configured    account    on    the    local    machine.    To    change    the    default    account,    use    "gcloud    config    set    account".    To    active    service    accounts,    use    "gcloud    auth    activate-service-account".    This    parameter    is    only    used    if    the    spinnaker    host    platform    is    GCE.')
    builder.add_argument('--gce_credentials', dest='spinnaker_google_account', help='DEPRECATED.    Replaced    by    --spinnaker_google_account')
    builder.add_argument('--gce_instance', default=defaults.get('GCE_INSTANCE', None), help='The    GCE    instance    name    that    {system}    is    running    on.    This    parameter    is    only    used    if    the    spinnaker    host    platform    is    GCE.'.format(system=scenario_class.ENDPOINT_SUBSYSTEM))
    builder.add_argument('--gce_project', default=defaults.get('GCE_PROJECT', None), help='The    GCE    project    that    {system}    is    running    within.    This    parameter    is    only    used    if    the    spinnaker    host    platform    is    GCE.'.format(system=scenario_class.ENDPOINT_SUBSYSTEM))
    builder.add_argument('--gce_zone', default=defaults.get('GCE_ZONE', None), help='The    GCE    zone    that    {system}    is    running    within.    This    parameter    is    only    used    if    the    spinnaker    host    platform    is    GCE.'.format(system=scenario_class.ENDPOINT_SUBSYSTEM))
    builder.add_argument('--gce_ssh_passphrase_file', default=defaults.get('GCE_SSH_PASSPHRASE_FILE', None), help='Specifying    a    file    containing    the    SSH    passphrase    will    permit    tunneling    or    the    execution    of    remote    commands    into    the    --gce_instance    if    needed.')
    builder.add_argument('--spinnaker_google_account', default=defaults.get('SPINNAKER_GOOGLE_ACCOUNT', None), help='Spinnaker    account    name    to    use    for    test    operations    against    GCE.    Only    used    when    managing    resources    on    GCE.    If    left    empty    then    use    the    configured    primary    account.')
    builder.add_argument('--test_gce_image_name', default=defaults.get('TEST_GCE_IMAGE_NAME', 'ubuntu-1404-trusty-v20160919'), help='Default    Google    Compute    Engine    image    name    to    use    when    creating    test    instances.')
    builder.add_argument('--test_gce_region', default=defaults.get('TEST_GCE_REGION', ''), help='The    GCE    region    to    test    generated    instances    in    (when    managing    GCE).    If    not    specified,    then    derive    it    from    --test_gce_zone.')
    builder.add_argument('--test_gce_zone', default=defaults.get('TEST_GCE_ZONE', 'us-central1-f'), help='The    GCE    zone    to    test    generated    instances    in    (when    managing    GCE).    This    implies    the    GCE    region    as    well.')
    builder.add_argument('--managed_gce_project', dest='google_primary_managed_project_id', help='GCE    project    to    test    instances    in    (when    managing    GCE).')
    builder.add_argument('--gce_credentials_path', default=defaults.get('GCE_CREDENTIALS_PATH', None), help='A    path    to    the    JSON    file    with    credentials    to    use    for    observing    tests    run    against    Google    Cloud    Platform.')
