platform-api 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +18 -0
- data/CONTRIBUTORS.md +10 -0
- data/Gemfile.lock +4 -4
- data/LICENSE.md +20 -0
- data/README.md +9 -11
- data/lib/platform-api/client.rb +506 -87
- data/lib/platform-api/version.rb +1 -1
- data/platform-api.gemspec +1 -1
- data/schema.json +365 -20
- metadata +9 -6
data/lib/platform-api/version.rb
CHANGED
data/platform-api.gemspec
CHANGED
data/schema.json
CHANGED
@@ -927,6 +927,92 @@
|
|
927
927
|
}
|
928
928
|
}
|
929
929
|
},
|
930
|
+
"addon-config": {
|
931
|
+
"description": "Configuration of an Add-on",
|
932
|
+
"$schema": "http://json-schema.org/draft-04/hyper-schema",
|
933
|
+
"stability": "development",
|
934
|
+
"strictProperties": true,
|
935
|
+
"title": "Heroku Platform API - Add-on Config",
|
936
|
+
"type": [
|
937
|
+
"object"
|
938
|
+
],
|
939
|
+
"definitions": {
|
940
|
+
"identity": {
|
941
|
+
"anyOf": [
|
942
|
+
{
|
943
|
+
"$ref": "#/definitions/addon-config/definitions/name"
|
944
|
+
}
|
945
|
+
]
|
946
|
+
},
|
947
|
+
"name": {
|
948
|
+
"description": "unique name of the config",
|
949
|
+
"example": "FOO",
|
950
|
+
"type": [
|
951
|
+
"string"
|
952
|
+
]
|
953
|
+
},
|
954
|
+
"value": {
|
955
|
+
"description": "value of the config",
|
956
|
+
"example": "bar",
|
957
|
+
"type": [
|
958
|
+
"string",
|
959
|
+
"null"
|
960
|
+
]
|
961
|
+
}
|
962
|
+
},
|
963
|
+
"links": [
|
964
|
+
{
|
965
|
+
"description": "Get an add-on's config",
|
966
|
+
"href": "/addons/{(%23%2Fdefinitions%2Faddon%2Fdefinitions%2Fidentity)}/config",
|
967
|
+
"method": "GET",
|
968
|
+
"rel": "instances",
|
969
|
+
"targetSchema": {
|
970
|
+
"items": {
|
971
|
+
"$ref": "#/definitions/addon-config"
|
972
|
+
},
|
973
|
+
"type": [
|
974
|
+
"array"
|
975
|
+
]
|
976
|
+
},
|
977
|
+
"title": "List"
|
978
|
+
},
|
979
|
+
{
|
980
|
+
"description": "Update an add-on's config.",
|
981
|
+
"href": "/addons/{(%23%2Fdefinitions%2Faddon%2Fdefinitions%2Fidentity)}/config",
|
982
|
+
"method": "PATCH",
|
983
|
+
"rel": "update",
|
984
|
+
"schema": {
|
985
|
+
"properties": {
|
986
|
+
"config": {
|
987
|
+
"items": {
|
988
|
+
"$ref": "#/definitions/addon-config"
|
989
|
+
},
|
990
|
+
"type": [
|
991
|
+
"array"
|
992
|
+
]
|
993
|
+
}
|
994
|
+
},
|
995
|
+
"type": [
|
996
|
+
"object"
|
997
|
+
]
|
998
|
+
},
|
999
|
+
"targetSchema": {
|
1000
|
+
"items": {
|
1001
|
+
"$ref": "#/definitions/addon-config"
|
1002
|
+
}
|
1003
|
+
},
|
1004
|
+
"title": "Update"
|
1005
|
+
}
|
1006
|
+
],
|
1007
|
+
"properties": {
|
1008
|
+
"name": {
|
1009
|
+
"$ref": "#/definitions/addon-config/definitions/name"
|
1010
|
+
},
|
1011
|
+
"value": {
|
1012
|
+
"$ref": "#/definitions/addon-config/definitions/value"
|
1013
|
+
}
|
1014
|
+
}
|
1015
|
+
},
|
930
1016
|
"addon-region-capability": {
|
931
1017
|
"description": "Add-on region capabilities represent the relationship between an Add-on Service and a specific Region",
|
932
1018
|
"$schema": "http://json-schema.org/draft-04/hyper-schema",
|
@@ -2495,6 +2581,21 @@
|
|
2495
2581
|
"object"
|
2496
2582
|
]
|
2497
2583
|
},
|
2584
|
+
"organization": {
|
2585
|
+
"description": "identity of organization",
|
2586
|
+
"properties": {
|
2587
|
+
"id": {
|
2588
|
+
"$ref": "#/definitions/organization/definitions/id"
|
2589
|
+
},
|
2590
|
+
"name": {
|
2591
|
+
"$ref": "#/definitions/organization/definitions/name"
|
2592
|
+
}
|
2593
|
+
},
|
2594
|
+
"type": [
|
2595
|
+
"null",
|
2596
|
+
"object"
|
2597
|
+
]
|
2598
|
+
},
|
2498
2599
|
"region": {
|
2499
2600
|
"description": "identity of app region",
|
2500
2601
|
"properties": {
|
@@ -2714,6 +2815,32 @@
|
|
2714
2815
|
"string"
|
2715
2816
|
]
|
2716
2817
|
},
|
2818
|
+
"release": {
|
2819
|
+
"description": "release resulting from the build",
|
2820
|
+
"strictProperties": true,
|
2821
|
+
"properties": {
|
2822
|
+
"id": {
|
2823
|
+
"$ref": "#/definitions/release/definitions/id"
|
2824
|
+
}
|
2825
|
+
},
|
2826
|
+
"example": {
|
2827
|
+
"id": "01234567-89ab-cdef-0123-456789abcdef"
|
2828
|
+
},
|
2829
|
+
"readOnly": true,
|
2830
|
+
"type": [
|
2831
|
+
"null",
|
2832
|
+
"object"
|
2833
|
+
],
|
2834
|
+
"definitions": {
|
2835
|
+
"id": {
|
2836
|
+
"description": "unique identifier of release",
|
2837
|
+
"example": "01234567-89ab-cdef-0123-456789abcdef",
|
2838
|
+
"type": [
|
2839
|
+
"string"
|
2840
|
+
]
|
2841
|
+
}
|
2842
|
+
}
|
2843
|
+
},
|
2717
2844
|
"source_blob": {
|
2718
2845
|
"description": "location of gzipped tarball of source code used to create build",
|
2719
2846
|
"properties": {
|
@@ -2869,6 +2996,9 @@
|
|
2869
2996
|
"source_blob": {
|
2870
2997
|
"$ref": "#/definitions/build/definitions/source_blob"
|
2871
2998
|
},
|
2999
|
+
"release": {
|
3000
|
+
"$ref": "#/definitions/build/definitions/release"
|
3001
|
+
},
|
2872
3002
|
"slug": {
|
2873
3003
|
"description": "slug created by this build",
|
2874
3004
|
"properties": {
|
@@ -3246,13 +3376,13 @@
|
|
3246
3376
|
"title": "Info"
|
3247
3377
|
},
|
3248
3378
|
{
|
3249
|
-
"description": "Update config-vars for app. You can update existing config-vars by setting them again, and remove by setting it to `
|
3379
|
+
"description": "Update config-vars for app. You can update existing config-vars by setting them again, and remove by setting it to `null`.",
|
3250
3380
|
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/config-vars",
|
3251
3381
|
"method": "PATCH",
|
3252
3382
|
"rel": "update",
|
3253
3383
|
"schema": {
|
3254
3384
|
"additionalProperties": false,
|
3255
|
-
"description": "hash of config changes – update values or delete by seting it to
|
3385
|
+
"description": "hash of config changes – update values or delete by seting it to `null`",
|
3256
3386
|
"example": {
|
3257
3387
|
"FOO": "bar",
|
3258
3388
|
"BAZ": "qux"
|
@@ -3468,6 +3598,14 @@
|
|
3468
3598
|
"string"
|
3469
3599
|
]
|
3470
3600
|
},
|
3601
|
+
"status": {
|
3602
|
+
"description": "status of this record's cname",
|
3603
|
+
"example": "pending",
|
3604
|
+
"readOnly": true,
|
3605
|
+
"type": [
|
3606
|
+
"string"
|
3607
|
+
]
|
3608
|
+
},
|
3471
3609
|
"hostname": {
|
3472
3610
|
"description": "full hostname",
|
3473
3611
|
"example": "subdomain.example.com",
|
@@ -3610,6 +3748,9 @@
|
|
3610
3748
|
},
|
3611
3749
|
"updated_at": {
|
3612
3750
|
"$ref": "#/definitions/domain/definitions/updated_at"
|
3751
|
+
},
|
3752
|
+
"status": {
|
3753
|
+
"$ref": "#/definitions/domain/definitions/status"
|
3613
3754
|
}
|
3614
3755
|
}
|
3615
3756
|
},
|
@@ -3732,11 +3873,19 @@
|
|
3732
3873
|
"type": {
|
3733
3874
|
"description": "type of process",
|
3734
3875
|
"example": "run",
|
3735
|
-
"readOnly":
|
3876
|
+
"readOnly": false,
|
3736
3877
|
"type": [
|
3737
3878
|
"string"
|
3738
3879
|
]
|
3739
3880
|
},
|
3881
|
+
"time_to_live": {
|
3882
|
+
"description": "seconds until dyno expires, after which it will soon be killed",
|
3883
|
+
"example": 1800,
|
3884
|
+
"readOnly": false,
|
3885
|
+
"type": [
|
3886
|
+
"integer"
|
3887
|
+
]
|
3888
|
+
},
|
3740
3889
|
"updated_at": {
|
3741
3890
|
"description": "when process last changed state",
|
3742
3891
|
"example": "2012-01-01T12:00:00Z",
|
@@ -3769,6 +3918,12 @@
|
|
3769
3918
|
},
|
3770
3919
|
"size": {
|
3771
3920
|
"$ref": "#/definitions/dyno/definitions/size"
|
3921
|
+
},
|
3922
|
+
"type": {
|
3923
|
+
"$ref": "#/definitions/dyno/definitions/type"
|
3924
|
+
},
|
3925
|
+
"time_to_live": {
|
3926
|
+
"$ref": "#/definitions/dyno/definitions/time_to_live"
|
3772
3927
|
}
|
3773
3928
|
},
|
3774
3929
|
"required": [
|
@@ -6480,21 +6635,6 @@
|
|
6480
6635
|
"id": {
|
6481
6636
|
"$ref": "#/definitions/collaborator/definitions/id"
|
6482
6637
|
},
|
6483
|
-
"privileges": {
|
6484
|
-
"description": "collborator privileges",
|
6485
|
-
"properties": {
|
6486
|
-
"description": {
|
6487
|
-
"type": [
|
6488
|
-
"string"
|
6489
|
-
]
|
6490
|
-
},
|
6491
|
-
"name": {
|
6492
|
-
"type": [
|
6493
|
-
"string"
|
6494
|
-
]
|
6495
|
-
}
|
6496
|
-
}
|
6497
|
-
},
|
6498
6638
|
"role": {
|
6499
6639
|
"$ref": "#/definitions/organization/definitions/role"
|
6500
6640
|
},
|
@@ -7045,7 +7185,12 @@
|
|
7045
7185
|
"$schema": "http://json-schema.org/draft-04/hyper-schema",
|
7046
7186
|
"description": "An organization member is an individual with access to an organization.",
|
7047
7187
|
"stability": "prototype",
|
7048
|
-
"
|
7188
|
+
"additionalProperties": false,
|
7189
|
+
"required": [
|
7190
|
+
"created_at",
|
7191
|
+
"email",
|
7192
|
+
"updated_at"
|
7193
|
+
],
|
7049
7194
|
"title": "Heroku Platform API - Organization Member",
|
7050
7195
|
"type": [
|
7051
7196
|
"object"
|
@@ -7079,7 +7224,7 @@
|
|
7079
7224
|
]
|
7080
7225
|
},
|
7081
7226
|
"two_factor_authentication": {
|
7082
|
-
"description": "whether the organization member has two factor authentication enabled",
|
7227
|
+
"description": "whether the Enterprise organization member has two factor authentication enabled",
|
7083
7228
|
"example": true,
|
7084
7229
|
"readOnly": true,
|
7085
7230
|
"type": [
|
@@ -7735,6 +7880,172 @@
|
|
7735
7880
|
}
|
7736
7881
|
}
|
7737
7882
|
},
|
7883
|
+
"outbound-ruleset": {
|
7884
|
+
"description": "An outbound-ruleset is a collection of rules that specify what hosts Dynos are allowed to communicate with. ",
|
7885
|
+
"$schema": "http://json-schema.org/draft-04/hyper-schema",
|
7886
|
+
"stability": "prototype",
|
7887
|
+
"strictProperties": true,
|
7888
|
+
"title": "Heroku Platform API - Outbound Ruleset",
|
7889
|
+
"type": [
|
7890
|
+
"object"
|
7891
|
+
],
|
7892
|
+
"definitions": {
|
7893
|
+
"target": {
|
7894
|
+
"description": "is the target destination in CIDR notation",
|
7895
|
+
"example": "1.1.1.1/1",
|
7896
|
+
"pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
|
7897
|
+
"readOnly": false,
|
7898
|
+
"type": [
|
7899
|
+
"string"
|
7900
|
+
]
|
7901
|
+
},
|
7902
|
+
"created_at": {
|
7903
|
+
"description": "when outbound-ruleset was created",
|
7904
|
+
"example": "2012-01-01T12:00:00Z",
|
7905
|
+
"format": "date-time",
|
7906
|
+
"readOnly": true,
|
7907
|
+
"type": [
|
7908
|
+
"string"
|
7909
|
+
]
|
7910
|
+
},
|
7911
|
+
"id": {
|
7912
|
+
"description": "unique identifier of an outbound-ruleset",
|
7913
|
+
"example": "01234567-89ab-cdef-0123-456789abcdef",
|
7914
|
+
"format": "uuid",
|
7915
|
+
"readOnly": true,
|
7916
|
+
"type": [
|
7917
|
+
"string"
|
7918
|
+
]
|
7919
|
+
},
|
7920
|
+
"port": {
|
7921
|
+
"description": "an endpoint of communication in an operating system.",
|
7922
|
+
"example": 80,
|
7923
|
+
"readOnly": false,
|
7924
|
+
"type": [
|
7925
|
+
"integer"
|
7926
|
+
]
|
7927
|
+
},
|
7928
|
+
"protocol": {
|
7929
|
+
"description": "formal standards and policies comprised of rules, procedures and formats that define communication between two or more devices over a network",
|
7930
|
+
"example": "tcp",
|
7931
|
+
"readOnly": false,
|
7932
|
+
"type": [
|
7933
|
+
"string"
|
7934
|
+
]
|
7935
|
+
},
|
7936
|
+
"identity": {
|
7937
|
+
"anyOf": [
|
7938
|
+
{
|
7939
|
+
"$ref": "#/definitions/outbound-ruleset/definitions/id"
|
7940
|
+
}
|
7941
|
+
]
|
7942
|
+
},
|
7943
|
+
"rule": {
|
7944
|
+
"description": "the combination of an IP address in CIDR notation, a from_port, to_port and protocol.",
|
7945
|
+
"type": [
|
7946
|
+
"object"
|
7947
|
+
],
|
7948
|
+
"properties": {
|
7949
|
+
"target": {
|
7950
|
+
"$ref": "#/definitions/outbound-ruleset/definitions/target"
|
7951
|
+
},
|
7952
|
+
"from_port": {
|
7953
|
+
"$ref": "#/definitions/outbound-ruleset/definitions/port"
|
7954
|
+
},
|
7955
|
+
"to_port": {
|
7956
|
+
"$ref": "#/definitions/outbound-ruleset/definitions/port"
|
7957
|
+
},
|
7958
|
+
"protocol": {
|
7959
|
+
"$ref": "#/definitions/outbound-ruleset/definitions/protocol"
|
7960
|
+
}
|
7961
|
+
},
|
7962
|
+
"required": [
|
7963
|
+
"target",
|
7964
|
+
"from_port",
|
7965
|
+
"to_port",
|
7966
|
+
"protocol"
|
7967
|
+
]
|
7968
|
+
}
|
7969
|
+
},
|
7970
|
+
"links": [
|
7971
|
+
{
|
7972
|
+
"description": "Current outbound ruleset for a space",
|
7973
|
+
"href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-ruleset",
|
7974
|
+
"method": "GET",
|
7975
|
+
"rel": "self",
|
7976
|
+
"targetSchema": {
|
7977
|
+
"$ref": "#/definitions/outbound-ruleset"
|
7978
|
+
},
|
7979
|
+
"title": "Info"
|
7980
|
+
},
|
7981
|
+
{
|
7982
|
+
"description": "Info on an existing Outbound Ruleset",
|
7983
|
+
"href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-rulesets/{(%23%2Fdefinitions%2Foutbound-ruleset%2Fdefinitions%2Fidentity)}",
|
7984
|
+
"method": "GET",
|
7985
|
+
"rel": "self",
|
7986
|
+
"targetSchema": {
|
7987
|
+
"$ref": "#/definitions/outbound-ruleset"
|
7988
|
+
},
|
7989
|
+
"title": "Info"
|
7990
|
+
},
|
7991
|
+
{
|
7992
|
+
"description": "List all Outbound Rulesets for a space",
|
7993
|
+
"href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-rulesets",
|
7994
|
+
"method": "GET",
|
7995
|
+
"rel": "instances",
|
7996
|
+
"targetSchema": {
|
7997
|
+
"items": {
|
7998
|
+
"$ref": "#/definitions/outbound-ruleset"
|
7999
|
+
},
|
8000
|
+
"type": [
|
8001
|
+
"array"
|
8002
|
+
]
|
8003
|
+
},
|
8004
|
+
"title": "List"
|
8005
|
+
},
|
8006
|
+
{
|
8007
|
+
"description": "Create a new outbound ruleset",
|
8008
|
+
"href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-ruleset",
|
8009
|
+
"method": "PUT",
|
8010
|
+
"rel": "create",
|
8011
|
+
"schema": {
|
8012
|
+
"type": [
|
8013
|
+
"object"
|
8014
|
+
],
|
8015
|
+
"properties": {
|
8016
|
+
"rules": {
|
8017
|
+
"type": [
|
8018
|
+
"array"
|
8019
|
+
],
|
8020
|
+
"items": {
|
8021
|
+
"$ref": "#/definitions/outbound-ruleset/definitions/rule"
|
8022
|
+
}
|
8023
|
+
}
|
8024
|
+
}
|
8025
|
+
},
|
8026
|
+
"title": "Create"
|
8027
|
+
}
|
8028
|
+
],
|
8029
|
+
"properties": {
|
8030
|
+
"id": {
|
8031
|
+
"$ref": "#/definitions/outbound-ruleset/definitions/id"
|
8032
|
+
},
|
8033
|
+
"created_at": {
|
8034
|
+
"$ref": "#/definitions/outbound-ruleset/definitions/created_at"
|
8035
|
+
},
|
8036
|
+
"rules": {
|
8037
|
+
"type": [
|
8038
|
+
"array"
|
8039
|
+
],
|
8040
|
+
"items": {
|
8041
|
+
"$ref": "#/definitions/outbound-ruleset/definitions/rule"
|
8042
|
+
}
|
8043
|
+
},
|
8044
|
+
"created_by": {
|
8045
|
+
"$ref": "#/definitions/account/definitions/email"
|
8046
|
+
}
|
8047
|
+
}
|
8048
|
+
},
|
7738
8049
|
"password-reset": {
|
7739
8050
|
"description": "A password reset represents a in-process password reset attempt.",
|
7740
8051
|
"$schema": "http://json-schema.org/draft-04/hyper-schema",
|
@@ -9076,6 +9387,21 @@
|
|
9076
9387
|
}
|
9077
9388
|
],
|
9078
9389
|
"properties": {
|
9390
|
+
"addon_service": {
|
9391
|
+
"description": "identity of add-on service",
|
9392
|
+
"properties": {
|
9393
|
+
"id": {
|
9394
|
+
"$ref": "#/definitions/addon-service/definitions/id"
|
9395
|
+
},
|
9396
|
+
"name": {
|
9397
|
+
"$ref": "#/definitions/addon-service/definitions/name"
|
9398
|
+
}
|
9399
|
+
},
|
9400
|
+
"strictProperties": true,
|
9401
|
+
"type": [
|
9402
|
+
"object"
|
9403
|
+
]
|
9404
|
+
},
|
9079
9405
|
"created_at": {
|
9080
9406
|
"$ref": "#/definitions/plan/definitions/created_at"
|
9081
9407
|
},
|
@@ -9390,6 +9716,19 @@
|
|
9390
9716
|
"string"
|
9391
9717
|
]
|
9392
9718
|
},
|
9719
|
+
"status": {
|
9720
|
+
"description": "current status of the release",
|
9721
|
+
"enum": [
|
9722
|
+
"failed",
|
9723
|
+
"pending",
|
9724
|
+
"succeeded"
|
9725
|
+
],
|
9726
|
+
"example": "succeeded",
|
9727
|
+
"readOnly": true,
|
9728
|
+
"type": [
|
9729
|
+
"string"
|
9730
|
+
]
|
9731
|
+
},
|
9393
9732
|
"id": {
|
9394
9733
|
"description": "unique identifier of release",
|
9395
9734
|
"example": "01234567-89ab-cdef-0123-456789abcdef",
|
@@ -11086,6 +11425,9 @@
|
|
11086
11425
|
"addon-attachment": {
|
11087
11426
|
"$ref": "#/definitions/addon-attachment"
|
11088
11427
|
},
|
11428
|
+
"addon-config": {
|
11429
|
+
"$ref": "#/definitions/addon-config"
|
11430
|
+
},
|
11089
11431
|
"addon-region-capability": {
|
11090
11432
|
"$ref": "#/definitions/addon-region-capability"
|
11091
11433
|
},
|
@@ -11203,6 +11545,9 @@
|
|
11203
11545
|
"otp-secret": {
|
11204
11546
|
"$ref": "#/definitions/otp-secret"
|
11205
11547
|
},
|
11548
|
+
"outbound-ruleset": {
|
11549
|
+
"$ref": "#/definitions/outbound-ruleset"
|
11550
|
+
},
|
11206
11551
|
"password-reset": {
|
11207
11552
|
"$ref": "#/definitions/password-reset"
|
11208
11553
|
},
|