Skip to content

Commit

Permalink
fix user_calling_plans_resource docs
Browse files Browse the repository at this point in the history
Signed-off-by: Tadayuki Onishi <tonishi@folio-sec.com>
  • Loading branch information
Tadayuki Onishi committed Aug 24, 2024
1 parent bbada5e commit d51ad5c
Show file tree
Hide file tree
Showing 2 changed files with 162 additions and 159 deletions.
156 changes: 78 additions & 78 deletions docs/resources/phone_user_calling_plans.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,84 +49,84 @@ resource "zoom_phone_user_calling_plans" "example" {

Required:

- `type` (Number) The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan. Allowed: `61000`, `101`, `304`, `41000`, `50202`, `60202`, `203`, `107`, `31001`, `31005`, `50201`, `60201`, `1`, `1001`, `31007`, `51000`, `303`, `103`, `402`, `2000`, `31000`, `43000`, `50207`, `4`, `207`, `302`, `600`, `3000`, `31004`, `100`, `3010`, `31003`, `204`, `201`, `400`, `30007`, `40200`, `70207`, `6`, `404`, `40202`, `102`, `307`, `200`, `3099`, `4000`, `4010`, `30001`, `71000`, `202`, `31002`, `31006`, `40201`, `63000`, `70202`, `30003`, `30000`, `53000`, `70200`, `300`, `5`, `3098`, `3`, `5000`, `30002`, `30004`, `40207`, `50200`, `60200`, `60207`, `3040`, `70201`, `301`, `401`, `403`, `1000`, `104`
- `70200`: MEETINGS_US_CA_NUMBER_INCLUDED
- `300`: US_CA_NUMBER
- `30000`: METERED_US_CA_NUMBER_INCLUDED
- `53000`: MEETINGS_BUS_PN_PRO
- `3`: INTERNATIONAL_TOLL_NUMBER
- `5`: BYOC_NUMBER
- `3098`: RESERVED_PLAN
- `30004`: METERED_EURB_NUMBER_INCLUDED
- `40207`: MEETINGS_PRO_UNLIMITED_JP
- `50200`: MEETINGS_BUS_UNLIMITED_US_CA
- `60200`: MEETINGS_ENT_UNLIMITED_US_CA
- `60207`: MEETINGS_ENT_UNLIMITED_JP
- `3040`: ZP_COMMON_AREA
- `5000`: PREMIUM_NUMBER
- `30002`: METERED_GB_IE_NUMBER_INCLUDED
- `70201`: MEETINGS_AU_NZ_NUMBER_INCLUDED
- `403`: NZ_TOLLFREE_NUMBER
- `1000`: UNLIMITED_DOMESTIC_SELECT
- `104`: METERED_EURB
- `301`: AU_NZ_NUMBER
- `401`: AU_TOLLFREE_NUMBER
- `101`: METERED_PLAN_AU_NZ
- `61000`: MEETINGS_ENT_GLOBAL_SELECT
- `50202`: MEETINGS_BUS_UNLIMITED_GB_IE
- `60202`: MEETINGS_ENT_UNLIMITED_GB_IE
- `203`: UNLIMITED_EURA
- `304`: EURB_NUMBER
- `41000`: MEETINGS_PRO_GLOBAL_SELECT
- `31005`: UNLIMITED_DOMESTIC_SELECT_NUMBER_INCLUDED
- `50201`: MEETINGS_BUS_UNLIMITED_AU_NZ
- `60201`: MEETINGS_ENT_UNLIMITED_AU_NZ
- `1`: NO_FEATURE_PACKAGE
- `107`: METERED_JP
- `31001`: UNLIMITED_AU_NZ_NUMBER_INCLUDED
- `51000`: MEETINGS_BUS_GLOBAL_SELECT
- `303`: EURA_NUMBER
- `1001`: METERED_GLOBAL_SELECT
- `31007`: UNLIMITED_JP_NUMBER_INCLUDED
- `2000`: UNLIMITED_DOMESTIC_SELECT_NUMBER
- `31000`: UNLIMITED_US_CA_NUMBER_INCLUDED
- `43000`: MEETINGS_PRO_PN_PRO
- `50207`: MEETINGS_BUS_UNLIMITED_JP
- `4`: INTERNATIONAL_TOLL_FREE_NUMBER
- `103`: METERED_EURA
- `402`: GB_IE_TOLLFREE_NUMBER
- `600`: BETA
- `3000`: ZP_PRO
- `31004`: UNLIMITED_EURB_NUMBER_INCLUDED
- `100`: METERED_PLAN_US_CA
- `207`: UNLIMITED_JP
- `302`: GB_IE_NUMBER
- `204`: UNLIMITED_EURB
- `3010`: BASIC
- `31003`: UNLIMITED_EURA_NUMBER_INCLUDED
- `30007`: METERED_JP_NUMBER_INCLUDED
- `40200`: MEETINGS_PRO_UNLIMITED_US_CA
- `70207`: MEETINGS_JP_NUMBER_INCLUDED
- `6`: BETA_NUMBER
- `201`: UNLIMITED_PLAN_AU_NZ
- `400`: US_CA_TOLLFREE_NUMBER
- `102`: METERED_PLAN_GB_IE
- `404`: GLOBAL_TOLLFREE_NUMBER
- `40202`: MEETINGS_PRO_UNLIMITED_GB_IE
- `200`: UNLIMITED_PLAN_US_CA
- `307`: JP_NUMBER
- `4010`: ZP_PREMIUM_ADDON
- `30001`: METERED_AU_NZ_NUMBER_INCLUDED
- `71000`: MEETINGS_GLOBAL_SELECT_NUMBER_INCLUDED
- `202`: UNLIMITED_PLAN_GB_IE
- `3099`: BASIC_MIGRATED
- `4000`: INTERNATIONAL_SELECT_ADDON
- `40201`: MEETINGS_PRO_UNLIMITED_AU_NZ
- `63000`: MEETINGS_ENT_PN_PRO
- `70202`: MEETINGS_GB_IE_NUMBER_INCLUDED
- `30003`: METERED_EURA_NUMBER_INCLUDED
- `31002`: UNLIMITED_GB_IE_NUMBER_INCLUDED
- `31006`: METERED_GLOBAL_SELECT_NUMBER_INCLUDED
- `type` (Number) The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan. Allowed: `1`, `3`, `4`, `5`, `6`, `100`, `101`, `102`, `103`, `104`, `107`, `200`, `201`, `202`, `203`, `204`, `207`, `300`, `301`, `302`, `303`, `304`, `307`, `400`, `401`, `402`, `403`, `404`, `600`, `1000`, `1001`, `2000`, `3000`, `3010`, `3040`, `3098`, `3099`, `4000`, `4010`, `5000`, `30000`, `30001`, `30002`, `30003`, `30004`, `30007`, `31000`, `31001`, `31002`, `31003`, `31004`, `31005`, `31006`, `31007`, `40200`, `40201`, `40202`, `40207`, `41000`, `43000`, `50200`, `50201`, `50202`, `50207`, `51000`, `53000`, `60200`, `60201`, `60202`, `60207`, `61000`, `63000`, `70200`, `70201`, `70202`, `70207`, `71000`
- `1`: NO_FEATURE_PACKAGE
- `3`: INTERNATIONAL_TOLL_NUMBER
- `4`: INTERNATIONAL_TOLL_FREE_NUMBER
- `5`: BYOC_NUMBER
- `6`: BETA_NUMBER
- `100`: METERED_PLAN_US_CA
- `101`: METERED_PLAN_AU_NZ
- `102`: METERED_PLAN_GB_IE
- `103`: METERED_EURA
- `104`: METERED_EURB
- `107`: METERED_JP
- `200`: UNLIMITED_PLAN_US_CA
- `201`: UNLIMITED_PLAN_AU_NZ
- `202`: UNLIMITED_PLAN_GB_IE
- `203`: UNLIMITED_EURA
- `204`: UNLIMITED_EURB
- `207`: UNLIMITED_JP
- `300`: US_CA_NUMBER
- `301`: AU_NZ_NUMBER
- `302`: GB_IE_NUMBER
- `303`: EURA_NUMBER
- `304`: EURB_NUMBER
- `307`: JP_NUMBER
- `400`: US_CA_TOLLFREE_NUMBER
- `401`: AU_TOLLFREE_NUMBER
- `402`: GB_IE_TOLLFREE_NUMBER
- `403`: NZ_TOLLFREE_NUMBER
- `404`: GLOBAL_TOLLFREE_NUMBER
- `600`: BETA
- `1000`: UNLIMITED_DOMESTIC_SELECT
- `1001`: METERED_GLOBAL_SELECT
- `2000`: UNLIMITED_DOMESTIC_SELECT_NUMBER
- `3000`: ZP_PRO
- `3010`: BASIC
- `3040`: ZP_COMMON_AREA
- `3098`: RESERVED_PLAN
- `3099`: BASIC_MIGRATED
- `4000`: INTERNATIONAL_SELECT_ADDON
- `4010`: ZP_PREMIUM_ADDON
- `5000`: PREMIUM_NUMBER
- `30000`: METERED_US_CA_NUMBER_INCLUDED
- `30001`: METERED_AU_NZ_NUMBER_INCLUDED
- `30002`: METERED_GB_IE_NUMBER_INCLUDED
- `30003`: METERED_EURA_NUMBER_INCLUDED
- `30004`: METERED_EURB_NUMBER_INCLUDED
- `30007`: METERED_JP_NUMBER_INCLUDED
- `31000`: UNLIMITED_US_CA_NUMBER_INCLUDED
- `31001`: UNLIMITED_AU_NZ_NUMBER_INCLUDED
- `31002`: UNLIMITED_GB_IE_NUMBER_INCLUDED
- `31003`: UNLIMITED_EURA_NUMBER_INCLUDED
- `31004`: UNLIMITED_EURB_NUMBER_INCLUDED
- `31005`: UNLIMITED_DOMESTIC_SELECT_NUMBER_INCLUDED
- `31006`: METERED_GLOBAL_SELECT_NUMBER_INCLUDED
- `31007`: UNLIMITED_JP_NUMBER_INCLUDED
- `40200`: MEETINGS_PRO_UNLIMITED_US_CA
- `40201`: MEETINGS_PRO_UNLIMITED_AU_NZ
- `40202`: MEETINGS_PRO_UNLIMITED_GB_IE
- `40207`: MEETINGS_PRO_UNLIMITED_JP
- `41000`: MEETINGS_PRO_GLOBAL_SELECT
- `43000`: MEETINGS_PRO_PN_PRO
- `50200`: MEETINGS_BUS_UNLIMITED_US_CA
- `50201`: MEETINGS_BUS_UNLIMITED_AU_NZ
- `50202`: MEETINGS_BUS_UNLIMITED_GB_IE
- `50207`: MEETINGS_BUS_UNLIMITED_JP
- `51000`: MEETINGS_BUS_GLOBAL_SELECT
- `53000`: MEETINGS_BUS_PN_PRO
- `60200`: MEETINGS_ENT_UNLIMITED_US_CA
- `60201`: MEETINGS_ENT_UNLIMITED_AU_NZ
- `60202`: MEETINGS_ENT_UNLIMITED_GB_IE
- `60207`: MEETINGS_ENT_UNLIMITED_JP
- `61000`: MEETINGS_ENT_GLOBAL_SELECT
- `63000`: MEETINGS_ENT_PN_PRO
- `70200`: MEETINGS_US_CA_NUMBER_INCLUDED
- `70201`: MEETINGS_AU_NZ_NUMBER_INCLUDED
- `70202`: MEETINGS_GB_IE_NUMBER_INCLUDED
- `70207`: MEETINGS_JP_NUMBER_INCLUDED
- `71000`: MEETINGS_GLOBAL_SELECT_NUMBER_INCLUDED

Optional:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package usercallingplans
import (
"context"
"fmt"
"sort"
"strings"

"github.com/folio-sec/terraform-provider-zoom/internal/provider/shared"
Expand All @@ -24,84 +25,84 @@ var (
)

// See also: https://developers.zoom.us/docs/api/rest/other-references/calling-plans/
var callingPlanMapping = map[string]int32{
"NO_FEATURE_PACKAGE": 1,
"INTERNATIONAL_TOLL_NUMBER": 3,
"INTERNATIONAL_TOLL_FREE_NUMBER": 4,
"BYOC_NUMBER": 5,
"BETA_NUMBER": 6,
"METERED_PLAN_US_CA": 100,
"METERED_PLAN_AU_NZ": 101,
"METERED_PLAN_GB_IE": 102,
"METERED_EURA": 103,
"METERED_EURB": 104,
"METERED_JP": 107,
"UNLIMITED_PLAN_US_CA": 200,
"UNLIMITED_PLAN_AU_NZ": 201,
"UNLIMITED_PLAN_GB_IE": 202,
"UNLIMITED_EURA": 203,
"UNLIMITED_EURB": 204,
"UNLIMITED_JP": 207,
"US_CA_NUMBER": 300,
"AU_NZ_NUMBER": 301,
"GB_IE_NUMBER": 302,
"EURA_NUMBER": 303,
"EURB_NUMBER": 304,
"JP_NUMBER": 307,
"US_CA_TOLLFREE_NUMBER": 400,
"AU_TOLLFREE_NUMBER": 401,
"GB_IE_TOLLFREE_NUMBER": 402,
"NZ_TOLLFREE_NUMBER": 403,
"GLOBAL_TOLLFREE_NUMBER": 404,
"BETA": 600,
"UNLIMITED_DOMESTIC_SELECT": 1000,
"METERED_GLOBAL_SELECT": 1001,
"UNLIMITED_DOMESTIC_SELECT_NUMBER": 2000,
"ZP_PRO": 3000,
"BASIC": 3010,
"ZP_COMMON_AREA": 3040,
"RESERVED_PLAN": 3098,
"BASIC_MIGRATED": 3099,
"INTERNATIONAL_SELECT_ADDON": 4000,
"ZP_PREMIUM_ADDON": 4010,
"PREMIUM_NUMBER": 5000,
"METERED_US_CA_NUMBER_INCLUDED": 30000,
"METERED_AU_NZ_NUMBER_INCLUDED": 30001,
"METERED_GB_IE_NUMBER_INCLUDED": 30002,
"METERED_EURA_NUMBER_INCLUDED": 30003,
"METERED_EURB_NUMBER_INCLUDED": 30004,
"METERED_JP_NUMBER_INCLUDED": 30007,
"UNLIMITED_US_CA_NUMBER_INCLUDED": 31000,
"UNLIMITED_AU_NZ_NUMBER_INCLUDED": 31001,
"UNLIMITED_GB_IE_NUMBER_INCLUDED": 31002,
"UNLIMITED_EURA_NUMBER_INCLUDED": 31003,
"UNLIMITED_EURB_NUMBER_INCLUDED": 31004,
"UNLIMITED_JP_NUMBER_INCLUDED": 31007,
"UNLIMITED_DOMESTIC_SELECT_NUMBER_INCLUDED": 31005,
"METERED_GLOBAL_SELECT_NUMBER_INCLUDED": 31006,
"MEETINGS_PRO_UNLIMITED_US_CA": 40200,
"MEETINGS_PRO_UNLIMITED_AU_NZ": 40201,
"MEETINGS_PRO_UNLIMITED_GB_IE": 40202,
"MEETINGS_PRO_UNLIMITED_JP": 40207,
"MEETINGS_PRO_GLOBAL_SELECT": 41000,
"MEETINGS_PRO_PN_PRO": 43000,
"MEETINGS_BUS_UNLIMITED_US_CA": 50200,
"MEETINGS_BUS_UNLIMITED_AU_NZ": 50201,
"MEETINGS_BUS_UNLIMITED_GB_IE": 50202,
"MEETINGS_BUS_UNLIMITED_JP": 50207,
"MEETINGS_BUS_GLOBAL_SELECT": 51000,
"MEETINGS_BUS_PN_PRO": 53000,
"MEETINGS_ENT_UNLIMITED_US_CA": 60200,
"MEETINGS_ENT_UNLIMITED_AU_NZ": 60201,
"MEETINGS_ENT_UNLIMITED_GB_IE": 60202,
"MEETINGS_ENT_UNLIMITED_JP": 60207,
"MEETINGS_ENT_GLOBAL_SELECT": 61000,
"MEETINGS_ENT_PN_PRO": 63000,
"MEETINGS_US_CA_NUMBER_INCLUDED": 70200,
"MEETINGS_AU_NZ_NUMBER_INCLUDED": 70201,
"MEETINGS_GB_IE_NUMBER_INCLUDED": 70202,
"MEETINGS_JP_NUMBER_INCLUDED": 70207,
"MEETINGS_GLOBAL_SELECT_NUMBER_INCLUDED": 71000,
var callingPlanMapping = map[int32]string{
1: "NO_FEATURE_PACKAGE",
3: "INTERNATIONAL_TOLL_NUMBER",
4: "INTERNATIONAL_TOLL_FREE_NUMBER",
5: "BYOC_NUMBER",
6: "BETA_NUMBER",
100: "METERED_PLAN_US_CA",
101: "METERED_PLAN_AU_NZ",
102: "METERED_PLAN_GB_IE",
103: "METERED_EURA",
104: "METERED_EURB",
107: "METERED_JP",
200: "UNLIMITED_PLAN_US_CA",
201: "UNLIMITED_PLAN_AU_NZ",
202: "UNLIMITED_PLAN_GB_IE",
203: "UNLIMITED_EURA",
204: "UNLIMITED_EURB",
207: "UNLIMITED_JP",
300: "US_CA_NUMBER",
301: "AU_NZ_NUMBER",
302: "GB_IE_NUMBER",
303: "EURA_NUMBER",
304: "EURB_NUMBER",
307: "JP_NUMBER",
400: "US_CA_TOLLFREE_NUMBER",
401: "AU_TOLLFREE_NUMBER",
402: "GB_IE_TOLLFREE_NUMBER",
403: "NZ_TOLLFREE_NUMBER",
404: "GLOBAL_TOLLFREE_NUMBER",
600: "BETA",
1000: "UNLIMITED_DOMESTIC_SELECT",
1001: "METERED_GLOBAL_SELECT",
2000: "UNLIMITED_DOMESTIC_SELECT_NUMBER",
3000: "ZP_PRO",
3010: "BASIC",
3040: "ZP_COMMON_AREA",
3098: "RESERVED_PLAN",
3099: "BASIC_MIGRATED",
4000: "INTERNATIONAL_SELECT_ADDON",
4010: "ZP_PREMIUM_ADDON",
5000: "PREMIUM_NUMBER",
30000: "METERED_US_CA_NUMBER_INCLUDED",
30001: "METERED_AU_NZ_NUMBER_INCLUDED",
30002: "METERED_GB_IE_NUMBER_INCLUDED",
30003: "METERED_EURA_NUMBER_INCLUDED",
30004: "METERED_EURB_NUMBER_INCLUDED",
30007: "METERED_JP_NUMBER_INCLUDED",
31000: "UNLIMITED_US_CA_NUMBER_INCLUDED",
31001: "UNLIMITED_AU_NZ_NUMBER_INCLUDED",
31002: "UNLIMITED_GB_IE_NUMBER_INCLUDED",
31003: "UNLIMITED_EURA_NUMBER_INCLUDED",
31004: "UNLIMITED_EURB_NUMBER_INCLUDED",
31005: "UNLIMITED_DOMESTIC_SELECT_NUMBER_INCLUDED",
31006: "METERED_GLOBAL_SELECT_NUMBER_INCLUDED",
31007: "UNLIMITED_JP_NUMBER_INCLUDED",
40200: "MEETINGS_PRO_UNLIMITED_US_CA",
40201: "MEETINGS_PRO_UNLIMITED_AU_NZ",
40202: "MEETINGS_PRO_UNLIMITED_GB_IE",
40207: "MEETINGS_PRO_UNLIMITED_JP",
41000: "MEETINGS_PRO_GLOBAL_SELECT",
43000: "MEETINGS_PRO_PN_PRO",
50200: "MEETINGS_BUS_UNLIMITED_US_CA",
50201: "MEETINGS_BUS_UNLIMITED_AU_NZ",
50202: "MEETINGS_BUS_UNLIMITED_GB_IE",
50207: "MEETINGS_BUS_UNLIMITED_JP",
51000: "MEETINGS_BUS_GLOBAL_SELECT",
53000: "MEETINGS_BUS_PN_PRO",
60200: "MEETINGS_ENT_UNLIMITED_US_CA",
60201: "MEETINGS_ENT_UNLIMITED_AU_NZ",
60202: "MEETINGS_ENT_UNLIMITED_GB_IE",
60207: "MEETINGS_ENT_UNLIMITED_JP",
61000: "MEETINGS_ENT_GLOBAL_SELECT",
63000: "MEETINGS_ENT_PN_PRO",
70200: "MEETINGS_US_CA_NUMBER_INCLUDED",
70201: "MEETINGS_AU_NZ_NUMBER_INCLUDED",
70202: "MEETINGS_GB_IE_NUMBER_INCLUDED",
70207: "MEETINGS_JP_NUMBER_INCLUDED",
71000: "MEETINGS_GLOBAL_SELECT_NUMBER_INCLUDED",
}

func NewPhoneUserCallingPlansResource() resource.Resource {
Expand Down Expand Up @@ -132,6 +133,8 @@ func (r *tfResource) Metadata(_ context.Context, req resource.MetadataRequest, r
}

func (r *tfResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse) {
sortedCallingPlans := lo.MapToSlice(callingPlanMapping, func(k int32, _ string) int { return int(k) })
sort.Ints(sortedCallingPlans)
markdownSeparatorForList := "\n "

resp.Schema = schema.Schema{
Expand Down Expand Up @@ -161,11 +164,11 @@ This resource requires the ` + strings.Join([]string{
"type": schema.Int32Attribute{
Required: true,
Validators: []validator.Int32{
int32validator.OneOf(lo.Values(callingPlanMapping)...),
int32validator.OneOf(lo.Keys(callingPlanMapping)...),
},
MarkdownDescription: "The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan. Allowed: " + strings.Join(lo.MapToSlice(callingPlanMapping, func(_ string, v int32) string { return fmt.Sprintf("`%d`", v) }), ", ") +
MarkdownDescription: "The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan. Allowed: " + strings.Join(lo.Map(sortedCallingPlans, func(v int, _ int) string { return fmt.Sprintf("`%d`", v) }), ", ") +
strings.Join(
append([]string{""}, lo.MapToSlice(callingPlanMapping, func(k string, v int32) string { return fmt.Sprintf(" - `%d`: %s", v, k) })...),
append([]string{""}, lo.Map(sortedCallingPlans, func(v int, _ int) string { return fmt.Sprintf("- `%d`: %s", v, callingPlanMapping[int32(v)]) })...),
markdownSeparatorForList,
),
},
Expand Down

0 comments on commit d51ad5c

Please sign in to comment.