platform-api 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
},
|