diff --git a/articles/apple-mdm-setup.md b/articles/apple-mdm-setup.md index fc987e7805..262cc34b21 100644 --- a/articles/apple-mdm-setup.md +++ b/articles/apple-mdm-setup.md @@ -112,7 +112,7 @@ Connect Fleet to VPP to deploy [Apple App Store apps](https://fleetdm.com/guides 1. In Fleet, select your avatar on the far right of the main navigation menu, and then **Settings > Integrations > MDM**. 2. Under **Apple Business (AB)**, select **Add VPP** next to **Volume Purchasing Program (VPP)**. 3. Sign in to [Apple Business](https://business.apple.com). If your organization doesn't have an account, select **Sign up now**. -4. Head to **Settings > Apps & Books** and download the content token for the location you want to use. Each token is based on a location in Apple Business. +4. Head to **Settings > Apps & Books** and download the content token for the organization unit you want to use. Each token is based on an organization unit in Apple Business. 5. Upload the content token (.vpptoken file) to Fleet. 6. To assign the VPP token to a specific fleet, find the token in the table of VPP tokens. Select the **Actions** dropdown, and then select **Edit fleets**. Use the picker to select which fleet(s) this VPP token should be assigned to. diff --git a/cmd/fleetctl/fleetctl/templates/new/default.template.yml b/cmd/fleetctl/fleetctl/templates/new/default.template.yml index 4d689347c0..a16b8fc2b4 100644 --- a/cmd/fleetctl/fleetctl/templates/new/default.template.yml +++ b/cmd/fleetctl/fleetctl/templates/new/default.template.yml @@ -81,7 +81,7 @@ org_settings: # • https://fleetdm.com/guides/apple-mdm-setup#volume-purchasing-program-vpp ########################################################### # volume_purchasing_program: - # - location: "My location." # This must exactly match a "Location" name in Apple Business (AB). + # - location: "My organization unit." # This must exactly match an "Organization Unit" name in Apple Business (AB). Apple previously called this "location." Fleet will rename it to "organization unit" in the next major version. # fleets: # - "💻 Workstations" # - "📱🔐 Personal mobile devices" diff --git a/cmd/fleetctl/integrationtest/gitops/software_test.go b/cmd/fleetctl/integrationtest/gitops/software_test.go index 5cb2bf722a..0891f21587 100644 --- a/cmd/fleetctl/integrationtest/gitops/software_test.go +++ b/cmd/fleetctl/integrationtest/gitops/software_test.go @@ -1141,12 +1141,12 @@ software: ipadTeam, }, dryRunAssertion: func(t *testing.T, appCfg *fleet.AppConfig, ds fleet.Datastore, out string, err error) { - assert.ErrorContains(t, err, "token with location Does not exist doesn't exist") + require.ErrorContains(t, err, "token with organization unit Does not exist doesn't exist") assert.Empty(t, appCfg.MDM.VolumePurchasingProgram.Value) assert.NotContains(t, out, "[!] gitops dry run succeeded") }, realRunAssertion: func(t *testing.T, appCfg *fleet.AppConfig, ds fleet.Datastore, out string, err error) { - assert.ErrorContains(t, err, "token with location Does not exist doesn't exist") + require.ErrorContains(t, err, "token with organization unit Does not exist doesn't exist") assert.Empty(t, appCfg.MDM.VolumePurchasingProgram.Value) assert.NotContains(t, out, "[!] gitops dry run succeeded") }, diff --git a/docs/Configuration/yaml-files.md b/docs/Configuration/yaml-files.md index 566d2e1ce4..2b68022165 100644 --- a/docs/Configuration/yaml-files.md +++ b/docs/Configuration/yaml-files.md @@ -1168,7 +1168,7 @@ org_settings: After you've uploaded a [Volume Purchasing Program](https://fleetdm.com/guides/macos-mdm-setup#volume-purchasing-program-vpp) (VPP) token, the `volume_purchasing_program` section lets you configure the fleets in Fleet that have access to that VPP token's App Store apps. Currently, adding a VPP token is only available using Fleet's UI. -- `location` is the name of the location in the Apple Business Manager account. +- `location` is the name of the organization unit in the Apple Business account. Apple previously called this "location." Fleet will rename it to "organization unit" in the next major version. - `fleets` is a list of fleet names. If you choose specific fleets, App Store apps in this VPP account will only be available to install on hosts in these fleets. If not specified, App Store apps will not be available to install on any fleet. To apply it to all fleets, use `- All fleets`. Can only be configured for "All fleets" (`org_settings`). diff --git a/docs/Contributing/reference/audit-logs.md b/docs/Contributing/reference/audit-logs.md index 841e1d91fe..896bcece4e 100644 --- a/docs/Contributing/reference/audit-logs.md +++ b/docs/Contributing/reference/audit-logs.md @@ -1635,7 +1635,7 @@ This activity contains the following fields: Generated when VPP features are enabled in Fleet. This activity contains the following fields: -- "location": Location associated with the VPP content token for the enabled VPP features. +- "location": Organization unit associated with the VPP content token for the enabled VPP features. Apple previously called this "location." Fleet will rename it to "organization unit" in the next major version. #### Example @@ -1650,7 +1650,7 @@ This activity contains the following fields: Generated when VPP features are disabled in Fleet. This activity contains the following fields: -- "location": Location associated with the VPP content token for the disabled VPP features. +- "location": Organization unit associated with the VPP content token for the disabled VPP features. Apple previously called this "location." Fleet will rename it to "organization unit" in the next major version. #### Example diff --git a/frontend/interfaces/activity.ts b/frontend/interfaces/activity.ts index b2076e0fa8..f12dfc31af 100644 --- a/frontend/interfaces/activity.ts +++ b/frontend/interfaces/activity.ts @@ -273,7 +273,7 @@ export interface IActivityDetails { installed_from_dep?: boolean; labels_exclude_any?: ILabelSoftwareTitle[]; labels_include_any?: ILabelSoftwareTitle[]; - location?: string; // name of location associated with VPP token + location?: string; // name of organization unit associated with VPP token mdm_platform?: "microsoft" | "apple" | "android" | "ios" | "ipados"; minimum_version?: string; mode?: IOrgLogoMode; diff --git a/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/AddVppModal/helpers.tsx b/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/AddVppModal/helpers.tsx index 7716c6de6c..0a2680141d 100644 --- a/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/AddVppModal/helpers.tsx +++ b/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/AddVppModal/helpers.tsx @@ -9,7 +9,7 @@ const generateDuplicateMessage = (msg: string) => { return ( <> Couldn't add. There's already a VPP connection for the{" "} - {orgName} location. + {orgName} organization unit. ); }; diff --git a/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/DeleteVppModal/DeleteVppModal.tsx b/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/DeleteVppModal/DeleteVppModal.tsx index f2e07a676a..bb0228ede3 100644 --- a/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/DeleteVppModal/DeleteVppModal.tsx +++ b/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/DeleteVppModal/DeleteVppModal.tsx @@ -47,9 +47,9 @@ const DeleteVppModal = ({ isContentDisabled={isDeleting} >

- Apps purchased for the {orgName} location won't appear in - Fleet, and policies that trigger automatic install of these apps will be - deleted. Apps won't be uninstalled from hosts. + Apps purchased for the {orgName} organization unit won't + appear in Fleet, and policies that trigger automatic install of these + apps will be deleted. Apps won't be uninstalled from hosts.

If you want to enable VPP integration again, you'll have to upload diff --git a/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/VppTable/VppTableConfig.tsx b/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/VppTable/VppTableConfig.tsx index 6aac314129..eaf2752af7 100644 --- a/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/VppTable/VppTableConfig.tsx +++ b/frontend/pages/admin/IntegrationsPage/cards/MdmSettings/VppPage/components/VppTable/VppTableConfig.tsx @@ -87,7 +87,7 @@ export const generateTableConfig = ( }, { accessor: "location", - Header: "Location", + Header: "Organization unit", disableSortBy: true, Cell: (cellProps: ITableStringCellProps) => ( diff --git a/server/fleet/app.go b/server/fleet/app.go index 4565fad2bf..929d6be02c 100644 --- a/server/fleet/app.go +++ b/server/fleet/app.go @@ -173,8 +173,8 @@ type MDMAppleABMAssignmentInfo struct { IpadOSTeam string `json:"ipados_team" renameto:"ipados_fleet"` } -// MDMAppleVolumePurchasingProgramInfo represents an user definition of the association -// between a VPP token (via location) and the team associations. +// MDMAppleVolumePurchasingProgramInfo represents a user definition of the association +// between a VPP token (via organization unit, formerly "location") and the team associations. type MDMAppleVolumePurchasingProgramInfo struct { Location string `json:"location"` Teams []string `json:"teams" renameto:"fleets"` diff --git a/server/fleet/mdm.go b/server/fleet/mdm.go index 3f4a977c40..56754a0c86 100644 --- a/server/fleet/mdm.go +++ b/server/fleet/mdm.go @@ -1120,7 +1120,8 @@ type VPPTokenRaw struct { type VPPTokenData struct { // Location comes from an Apple API: // https://developer.apple.com/documentation/devicemanagement/client_config. It is the name of - // the "library" of apps in ABM that is associated with this VPP token. + // the organization unit (formerly "location") in Apple Business that is associated with this + // VPP token. Location string `json:"location"` // Token is the token that is downloaded from ABM. It is a base64 encoded JSON object with the diff --git a/server/mdm/apple/vpp/api.go b/server/mdm/apple/vpp/api.go index c4cc6f1936..bca631f60d 100644 --- a/server/mdm/apple/vpp/api.go +++ b/server/mdm/apple/vpp/api.go @@ -29,8 +29,8 @@ type Asset struct { // PricingParam is the quality of a product in the store. // Possible Values are `STDQ` and `PLUS` PricingParam string `json:"pricingParam"` - // AvailableCount is the number of available licenses for this app in the location specified by - // the VPP token. + // AvailableCount is the number of available licenses for this app in the organization unit + // specified by the VPP token. AvailableCount uint `json:"availableCount"` } diff --git a/server/service/appconfig.go b/server/service/appconfig.go index 8c8fa72d7b..9dbbbfb983 100644 --- a/server/service/appconfig.go +++ b/server/service/appconfig.go @@ -1955,7 +1955,7 @@ func (svc *Service) validateVPPAssignments( loc := norm.NFC.String(vpp.Location) if _, ok := tokensByLocation[loc]; !ok { - invalid.Appendf("mdm.volume_purchasing_program", "token with location %s doesn't exist", vpp.Location) + invalid.Appendf("mdm.volume_purchasing_program", "token with organization unit %s doesn't exist", vpp.Location) return nil, nil }