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.
@@ -1,3 +1,3 @@
1
1
  module PlatformAPI
2
- VERSION = '0.7.0'
2
+ VERSION = '0.8.0'
3
3
  end
@@ -23,5 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency 'rake'
24
24
  spec.add_development_dependency 'yard'
25
25
 
26
- spec.add_dependency 'heroics'
26
+ spec.add_dependency 'heroics', '~> 0.0.17'
27
27
  end
@@ -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 `NULL`.",
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 NULL",
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": true,
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
- "strictProperties": true,
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
  },