# ConstraintSettingInfo

{% dynamic setvar source_file "src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform/ConstraintSettingInfoApi.java" %} {% dynamic setvar version "7.0.0" %} {% dynamic setvar original_path "/rules/lib/providers/ConstraintSettingInfo" %} {% include "_buttons.html" %} A specific constraint setting that may be used to define a platform. See Defining Constraints and Platforms for more information.
Note: This API is experimental and may change at any time. It is disabled by default, but may be enabled with `--experimental_platforms_api`

## Members

- has_default_constraint_value
- to_json
- to_proto

## has_default_constraint_value

    bool ConstraintSettingInfo.has_default_constraint_value

Whether there is a default constraint_value for this setting.

## to_json

    string ConstraintSettingInfo.to_json()

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with `---incompatible_struct_has_no_methods`. Use this flag to verify your code is compatible with its imminent removal.
Creates a JSON string from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs, a list of these types or a dictionary with string keys and values of these types. Quotes and new lines in strings are escaped. Examples:

    struct(key=123).to_json()
    # {"key":123}

    struct(key=True).to_json()
    # {"key":true}

    struct(key=[1, 2, 3]).to_json()
    # {"key":[1,2,3]}

    struct(key='text').to_json()
    # {"key":"text"}

    struct(key=struct(inner_key='text')).to_json()
    # {"key":{"inner_key":"text"}}

    struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
    # {"key":[{"inner_key":1},{"inner_key":2}]}

    struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
    # {"key":{"inner_key":{"inner_inner_key":"text"}}}

.

Deprecated: instead, use json.encode(x) or json.encode_indent(x), which work for values other than structs and do not pollute the struct field namespace.

## to_proto

    string ConstraintSettingInfo.to_proto()

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with `---incompatible_struct_has_no_methods`. Use this flag to verify your code is compatible with its imminent removal.
Creates a text message from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs or dicts or lists of these types. Quotes and new lines in strings are escaped. Struct keys are iterated in the sorted order. Examples:

    struct(key=123).to_proto()
    # key: 123

    struct(key=True).to_proto()
    # key: true

    struct(key=[1, 2, 3]).to_proto()
    # key: 1
    # key: 2
    # key: 3

    struct(key='text').to_proto()
    # key: "text"

    struct(key=struct(inner_key='text')).to_proto()
    # key {
    #   inner_key: "text"
    # }

    struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
    # key {
    #   inner_key: 1
    # }
    # key {
    #   inner_key: 2
    # }

    struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
    # key {
    #    inner_key {
    #     inner_inner_key: "text"
    #   }
    # }

    struct(foo={4: 3, 2: 1}).to_proto()
    # foo: {
    #   key: 4
    #   value: 3
    # }
    # foo: {
    #   key: 2
    #   value: 1
    # }

Deprecated: use proto.encode_text(x) instead.