UNPKG

n8n-nodes-googleanalytics

Version:
2,469 lines 199 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GoogleAnalytics = void 0;
const n8n_workflow_1 = require("n8n-workflow");
class GoogleAnalytics {
    constructor() {
        this.description = {
            name: 'googleAnalytics',
            displayName: 'Google Analytics',
            group: ['transform'],
            version: 1,
            description: 'Use the Google Analytics API',
            defaults: { name: 'Google Analytics' },
            icon: 'file:googleanalytics.svg',
            inputs: [{ type: "main" }],
            outputs: [{ type: "main" }],
            usableAsTool: true,
            credentials: [{ name: 'googleAnalyticsOAuth2Api', required: true }],
            requestDefaults: {
                baseURL: 'https://analyticsdata.googleapis.com/',
                headers: { 'Content-Type': 'application/json' }
            },
            properties: [
                {
                    displayName: 'Resource',
                    name: 'resource',
                    type: 'options',
                    noDataExpression: true,
                    options: [
                        { name: 'Admin (V1Alpha) - Account', value: 'adminv1alphaAccounts', description: 'Manages accounts' },
                        { name: 'Admin (V1Alpha) - Account Access Binding', value: 'adminv1alphaAccountsAccessBindings', description: 'Manages access bindings for users within an account' },
                        { name: 'Admin (V1Alpha) - Account Summary', value: 'adminv1alphaAccountSummaries', description: 'Lists summaries of all accounts accessible by the caller' },
                        { name: 'Admin (V1Alpha) - AdSense Link', value: 'adminv1alphaAdSenseLinks', description: 'Manages adsense links within a property' },
                        { name: 'Admin (V1Alpha) - Audience', value: 'adminv1alphaAudiences', description: 'Manages audiences within a property' },
                        { name: 'Admin (V1Alpha) - BigQuery Link', value: 'adminv1alphaBigQueryLinks', description: 'Manages bigquery links within a property' },
                        { name: 'Admin (V1Alpha) - Calculated Metric', value: 'adminv1alphaCalculatedMetrics', description: 'Manages calculated metrics within a property' },
                        { name: 'Admin (V1Alpha) - Channel Group', value: 'adminv1alphaChannelGroups', description: 'Manages channel groups within a property' },
                        { name: 'Admin (V1Alpha) - Custom Dimension', value: 'adminv1alphaCustomDimensions', description: 'Manages custom dimensions within a property' },
                        { name: 'Admin (V1Alpha) - Custom Metric', value: 'adminv1alphaCustomMetrics', description: 'Manages custom metrics within a property' },
                        { name: 'Admin (V1Alpha) - Data Stream', value: 'adminv1alphaDataStreams', description: 'Manages data streams within a property' },
                        { name: 'Admin (V1Alpha) - Display & Video 360 Advertiser Link', value: 'adminv1alphaDisplayVideo360AdvertiserLinks', description: 'Manages display & video 360 advertiser links within a property' },
                        { name: 'Admin (V1Alpha) - Display & Video 360 Advertiser Link Proposal', value: 'adminv1alphasDisplayVideo360AdvertiserLinkProposals', description: 'Manages display & video 360 advertiser link proposals within a property' },
                        { name: 'Admin (V1Alpha) - Event Create Rule', value: 'adminv1alphaEventCreateRules', description: 'Manages event creation rules within a data stream' },
                        { name: 'Admin (V1Alpha) - Event Edit Rule', value: 'adminv1alphaEventEditRules', description: 'Manages event edit rules within a data stream' },
                        { name: 'Admin (V1Alpha) - Expanded Data Set', value: 'adminv1alphaExpandedDataSets', description: 'Manages expanded data sets within a property' },
                        { name: 'Admin (V1Alpha) - Firebase Link', value: 'adminv1alphaFirebaseLinks', description: 'Manages firebase project links within a property' },
                        { name: 'Admin (V1Alpha) - Google Ads Link', value: 'adminv1alphaGoogleAdsLinks', description: 'Manages google ads links within a property' },
                        { name: 'Admin (V1Alpha) - Key Event', value: 'adminv1alphaKeyEvents', description: 'Manages key events within a property' },
                        { name: 'Admin (V1Alpha) - Measurement Protocol Secret', value: 'adminv1alphaMeasurementProtocolSecrets', description: 'Manages measurement protocol secrets within a data stream' },
                        { name: 'Admin (V1Alpha) - Property', value: 'adminv1alphaProperties', description: 'Manages properties within an account' },
                        { name: 'Admin (V1Alpha) - Property Access Binding', value: 'adminv1alphaPropertiesAccessBindings', description: 'Manages access bindings for users within a property' },
                        { name: 'Admin (V1Alpha) - Reporting Data Annotation', value: 'adminv1alphaReportingDataAnnotations', description: 'Manages reporting data annotations within a property' },
                        { name: 'Admin (V1Alpha) - Rollup Property Source Link', value: 'adminv1alphaRollupPropertySourceLinks', description: 'Manages rollup property source links within a property' },
                        { name: 'Admin (V1Alpha) - Search Ads 360 Link', value: 'adminv1alphaSearchAds360Links', description: 'Manages search ads 360 links within a property' },
                        { name: 'Admin (V1Alpha) - SKAdNetwork Conversion Value Schema', value: 'adminv1alphaSKAdNetworkConversionValueSchemas', description: 'Manages skadnetwork conversion value schemas for iOS within a data stream' },
                        { name: 'Admin (V1Alpha) - Subproperty Event Filter', value: 'adminv1alphaPropertiesSubpropertyEventFilters', description: 'Manages subproperty event filters within a property' },
                        { name: 'Admin (V1Beta) - Account', value: 'adminv1betaAccounts', description: 'Manages accounts' },
                        { name: 'Admin (V1Beta) - Account Summary', value: 'adminv1betaAccountSummaries', description: 'Lists summaries of all accounts accessible by the caller' },
                        { name: 'Admin (V1Beta) - Custom Dimension', value: 'adminv1betaCustomDimensions', description: 'Manages custom dimensions within a property' },
                        { name: 'Admin (V1Beta) - Custom Metric', value: 'adminv1betaCustomMetrics', description: 'Manages custom metrics within a property' },
                        { name: 'Admin (V1Beta) - Data Stream', value: 'adminv1betaDataStreams', description: 'Manages data streams within a property' },
                        { name: 'Admin (V1Beta) - Firebase Link', value: 'adminv1betaFirebaseLinks', description: 'Manages firebase project links within a property' },
                        { name: 'Admin (V1Beta) - Google Ads Link', value: 'adminv1betaGoogleAdsLinks', description: 'Manages google ads links within a property' },
                        { name: 'Admin (V1Beta) - Key Event', value: 'adminv1betaKeyEvents', description: 'Manages key events within a property' },
                        { name: 'Admin (V1Beta) - Measurement Protocol Secret', value: 'adminv1betaMeasurementProtocolSecrets', description: 'Manages measurement protocol secrets within a data stream' },
                        { name: 'Admin (V1Beta) - Property', value: 'adminv1betaProperties', description: 'Manages properties within an account' },
                        { name: 'Data (V1Alpha) - Audience List', value: 'datav1alphaAudienceLists', description: 'Manages audience lists within a property' },
                        { name: 'Data (V1Alpha) - Property', value: 'datav1alphaProperties', description: 'Manages properties within an account' },
                        { name: 'Data (V1Alpha) - Recurring Audience List', value: 'datav1alphaRecurringAudienceLists', description: 'Manages recurring audience lists within a property' },
                        { name: 'Data (V1Alpha) - Report Task', value: 'datav1alphaReportTasks', description: 'Manages report tasks within a property' },
                        { name: 'Data (V1Beta) - Audience Export', value: 'datav1betaAudienceExports', description: 'Manages audience exports within a property' },
                        { name: 'Data (V1Beta) - Property', value: 'datav1betaProperties', description: 'Manages properties within an account' },
                        { name: 'User Deletion', value: 'userDeletion', description: 'Manages user deletion requests' }
                    ],
                    default: 'adminv1alphaAccountSummaries',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaAccounts'] } },
                    options: [
                        { name: 'Delete Account', value: 'adminv1alphaAccountsDelete', action: 'Deletes an account', description: 'Marks target account as soft-deleted (ie: "trashed") and returns it' },
                        { name: 'Get Account', value: 'adminv1alphaAccountsGet', action: 'Gets an account', description: 'Lookup for a single Account' },
                        { name: 'Get Account Data Sharing Settings', value: 'adminv1alphaAccountsGetDataSharingSettings', action: 'Gets data sharing settings on an account', description: 'Gets data sharing settings on an account' },
                        { name: 'List Accounts', value: 'adminv1alphaAccountsList', action: 'Lists accounts', description: 'Returns all accounts accessible by the caller' },
                        { name: 'Provision Account Ticket', value: 'adminv1alphaAccountsAccountTicketProvision', action: 'Requests a ticket for creating an account', description: 'Requests a ticket for creating an account' },
                        { name: 'Run Access Report', value: 'adminv1alphaAccountsAccessReportRun', action: 'Runs a report of data access records', description: 'Returns a customized report of data access records' },
                        { name: 'Search Change History Events', value: 'adminv1alphaAccountsChangeHistoryEventsSearch', action: 'Searches changes to an account', description: 'Searches through all changes to an account or its children given the specified set of filters' },
                        { name: 'Udapte Account', value: 'adminv1alphaAccountsPatch', action: 'Updates an account', description: 'Updates an account' }
                    ],
                    default: 'adminv1alphaAccountsGet',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaAccountsAccessBindings'] } },
                    options: [
                        { name: 'Batch Create Account Access Bindings', value: 'adminv1alphaAccountsAccessBindingsBatchesCreate', action: 'Batches create account access bindings', description: 'Creates information about multiple access bindings' },
                        { name: 'Batch Delete Account Access Bindings', value: 'adminv1alphaAccountsAccessBindingsBatchesRemove', action: 'Batches delete account access bindings', description: 'Deletes information about multiple users links' },
                        { name: 'Batch Get Account Access Bindings', value: 'adminv1alphaAccountsAccessBindingsBatchesGet', action: 'Batches get account access bindings', description: 'Gets information about multiple access bindings' },
                        { name: 'Batch Update Account Access Bindings', value: 'adminv1alphaAccountsAccessBindingsBatchesUpdate', action: 'Batches update account access bindings', description: 'Updates information about multiple access bindings' },
                        { name: 'Create Account Access Binding', value: 'adminv1alphaAccountsAccessBindingsCreate', action: 'Creates an account access binding', description: 'Creates an access binding' },
                        { name: 'Delete Account Access Binding', value: 'adminv1alphaAccountsAccessBindingsDelete', action: 'Deletes an account access binding', description: 'Deletes an access binding' },
                        { name: 'Get Account Access Binding', value: 'adminv1alphaAccountsAccessBindingsGet', action: 'Get an account access binding', description: 'Gets information about an access binding' },
                        { name: 'List Account Access Bindings', value: 'adminv1alphaAccountsAccessBindingsList', action: 'List account access bindings', description: 'Lists all access bindings' },
                        { name: 'Update Account Access Binding', value: 'adminv1alphaAccountsAccessBindingsPatch', action: 'Update an account access binding', description: 'Updates an access binding' }
                    ],
                    default: 'adminv1alphaAccountsAccessBindingsBatchesCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaAccountSummaries'] } },
                    options: [
                        { name: 'List Account Summaries', value: 'adminv1alphaAccountSummariesList', action: 'Lists account summaries', description: 'Returns summaries of all accounts accessible by the caller' }
                    ],
                    default: 'adminv1alphaAccountSummariesList',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaAdSenseLinks'] } },
                    options: [
                        { name: 'Create AdSense Link', value: 'adminv1alphaAdSenseLinksCreate', action: 'Creates an adsense link', description: 'Creates an adsense link' },
                        { name: 'Delete AdSense Link', value: 'adminv1alphaAdSenseLinksDelete', action: 'Deletes an adsense link', description: 'Deletes an adsense link' },
                        { name: 'Get AdSense Link', value: 'adminv1alphaAdSenseLinksGet', action: 'Gets an adsense link', description: 'Gets an adsense link' },
                        { name: 'List AdSense Links', value: 'adminv1alphaAdSenseLinksList', action: 'Lists adsense links', description: 'Lists adsense links' }
                    ],
                    default: 'adminv1alphaAdSenseLinksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaAudiences'] } },
                    options: [
                        { name: 'Archive Audience', value: 'adminv1alphaAudiencesArchive', action: 'Archives an audience', description: 'Archives an audience' },
                        { name: 'Create Audience', value: 'adminv1alphaAudiencesCreate', action: 'Creates an audience', description: 'Creates an audience' },
                        { name: 'Get Audience', value: 'adminv1alphaAudiencesGet', action: 'Gets an audience', description: 'Gets an audience' },
                        { name: 'List Audiences', value: 'adminv1alphaAudiencesList', action: 'Lists audiences', description: 'Lists audiences' },
                        { name: 'Update Audience', value: 'adminv1alphaAudiencesPatch', action: 'Updates an audience', description: 'Updates an audience' }
                    ],
                    default: 'adminv1alphaAudiencesArchive',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaBigQueryLinks'] } },
                    options: [
                        { name: 'Create BigQuery Link', value: 'adminv1alphaBigQueryLinksCreate', action: 'Creates a bigquery link', description: 'Creates a bigquery link' },
                        { name: 'Delete BigQuery Link', value: 'adminv1alphaBigQueryLinksDelete', action: 'Deletes a bigquery link', description: 'Deletes a bigquery link' },
                        { name: 'Get BigQuery Link', value: 'adminv1alphaBigQueryLinksGet', action: 'Gets a bigquery link', description: 'Gets a bigquery link' },
                        { name: 'List BigQuery Links', value: 'adminv1alphaBigQueryLinksList', action: 'Lists bigquery links', description: 'Lists bigquery links' },
                        { name: 'Update BigQuery Link', value: 'adminv1alphaBigQueryLinksPatch', action: 'Updates bigquery link', description: 'Updates bigquery link' }
                    ],
                    default: 'adminv1alphaBigQueryLinksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaCalculatedMetrics'] } },
                    options: [
                        { name: 'Create Calculated Metric', value: 'adminv1alphaCalculatedMetricsCreate', action: 'Creates a calculated metric', description: 'Creates a calculated metric' },
                        { name: 'Delete Calculated Metric', value: 'adminv1alphaCalculatedMetricsDelete', action: 'Deletes a calculated metric', description: 'Deletes a calculated metric' },
                        { name: 'Get Calculated Metric', value: 'adminv1alphaCalculatedMetricsGet', action: 'Gets a calculated metric', description: 'Gets a calculated metric' },
                        { name: 'List Calculated Metrics', value: 'adminv1alphaCalculatedMetricsList', action: 'Lists calculated metrics', description: 'Lists calculated metrics' },
                        { name: 'Update Calculated Metric', value: 'adminv1alphaCalculatedMetricsPatch', action: 'Updates calculated metric', description: 'Updates calculated metric' }
                    ],
                    default: 'adminv1alphaCalculatedMetricsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaChannelGroups'] } },
                    options: [
                        { name: 'Create Channel Group', value: 'adminv1alphaChannelGroupsCreate', action: 'Creates a channel group', description: 'Creates a channel group' },
                        { name: 'Delete Channel Group', value: 'adminv1alphaChannelGroupsDelete', action: 'Deletes a channel group', description: 'Deletes a channel group' },
                        { name: 'Get Channel Group', value: 'adminv1alphaChannelGroupsGet', action: 'Gets a channel group', description: 'Gets a channel group' },
                        { name: 'List Channel Groups', value: 'adminv1alphaChannelGroupsList', action: 'Lists channel groups', description: 'Lists channel groups' },
                        { name: 'Update Channel Group', value: 'adminv1alphaChannelGroupsPatch', action: 'Updates channel group', description: 'Updates channel group' }
                    ],
                    default: 'adminv1alphaChannelGroupsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaCustomDimensions'] } },
                    options: [
                        { name: 'Archive Custom Dimension', value: 'adminv1alphaCustomDimensionsArchive', action: 'Archives a custom dimension', description: 'Archives a custom dimension' },
                        { name: 'Create Custom Dimension', value: 'adminv1alphaCustomDimensionsCreate', action: 'Creates a custom dimension', description: 'Creates a custom dimension' },
                        { name: 'Get Custom Dimension', value: 'adminv1alphaCustomDimensionsGet', action: 'Gets a custom dimension', description: 'Gets a custom dimension' },
                        { name: 'List Custom Dimensions', value: 'adminv1alphaCustomDimensionsList', action: 'Lists custom dimensions', description: 'Lists custom dimensions' },
                        { name: 'Update Custom Dimension', value: 'adminv1alphaCustomDimensionsPatch', action: 'Updates custom dimension', description: 'Updates custom dimension' }
                    ],
                    default: 'adminv1alphaCustomDimensionsArchive',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaCustomMetrics'] } },
                    options: [
                        { name: 'Archive Custom Metric', value: 'adminv1alphaCustomMetricsArchive', action: 'Archives a custom metric', description: 'Archives a custom metric' },
                        { name: 'Create Custom Metric', value: 'adminv1alphaCustomMetricsCreate', action: 'Creates a custom metric', description: 'Creates a custom metric' },
                        { name: 'Get Custom Metric', value: 'adminv1alphaCustomMetricsGet', action: 'Gets a custom metric', description: 'Gets a custom metric' },
                        { name: 'List Custom Metrics', value: 'adminv1alphaCustomMetricsList', action: 'Lists custom metrics', description: 'Lists custom metrics' },
                        { name: 'Update Custom Metric', value: 'adminv1alphaCustomMetricsPatch', action: 'Updates custom metric', description: 'Updates custom metric' }
                    ],
                    default: 'adminv1alphaCustomMetricsArchive',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaDataStreams'] } },
                    options: [
                        { name: 'Create Data Stream', value: 'adminv1alphaDataStreamsCreate', action: 'Creates a data stream', description: 'Creates a data stream' },
                        { name: 'Delete Data Stream', value: 'adminv1alphaDataStreamsDelete', action: 'Deletes a data stream', description: 'Deletes a data stream' },
                        { name: 'Get Data Stream', value: 'adminv1alphaDataStreamsGet', action: 'Gets a data stream', description: 'Gets a data stream' },
                        { name: 'Get Data Stream Data Redaction Settings', value: 'adminv1alphaDataStreamsDataRedactionSettingsGet', action: 'Gets data redaction settings', description: 'Gets data redaction settings' },
                        { name: 'Get Data Stream Enhanced Measurement Settings', value: 'adminv1alphaDataStreamsEnhancedMeasurementSettingsGet', action: 'Gets enhanced measurement settings', description: 'Gets enhanced measurement settings' },
                        { name: 'Get Data Stream Global Site Tag', value: 'adminv1alphaDataStreamsGlobalSiteTagGet', action: 'Gets a global site tag', description: 'Gets a global site tag' },
                        { name: 'List Data Streams', value: 'adminv1alphaDataStreamsList', action: 'Lists data streams', description: 'Lists data streams' },
                        { name: 'Update Data Stream', value: 'adminv1alphaDataStreamsPatch', action: 'Updates a data stream', description: 'Updates a data stream' },
                        { name: 'Update Data Stream Data Redaction Settings', value: 'adminv1alphaDataStreamsDataRedactionSettingsPatch', action: 'Updates data redaction settings', description: 'Updates data redaction settings' },
                        { name: 'Update Data Stream Enhanced Measurement Settings', value: 'adminv1alphaDataStreamsEnhancedMeasurementSettingsPatch', action: 'Updates enhanced measurement settings', description: 'Updates enhanced measurement settings' }
                    ],
                    default: 'adminv1alphaDataStreamsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaDisplayVideo360AdvertiserLinks'] } },
                    options: [
                        { name: 'Create Display & Video 360 Advertiser Link', value: 'adminv1alphaDisplayVideo360AdvertiserLinksCreate', action: 'Creates a display and video 360 advertiser link', description: 'Creates a display and video 360 advertiser link' },
                        { name: 'Delete Display & Video 360 Advertiser Link', value: 'adminv1alphaDisplayVideo360AdvertiserLinksDelete', action: 'Deletes a display and video 360 advertiser link', description: 'Deletes a display and video 360 advertiser link' },
                        { name: 'Get Display & Video 360 Advertiser Link', value: 'adminv1alphaDisplayVideo360AdvertiserLinksGet', action: 'Gets a display and video 360 advertiser link', description: 'Gets a display and video 360 advertiser link' },
                        { name: 'List Display & Video 360 Advertiser Links', value: 'adminv1alphaDisplayVideo360AdvertiserLinksList', action: 'Lists display and video 360 advertiser links', description: 'Lists display and video 360 advertiser links' },
                        { name: 'Update Display & Video 360 Advertiser Link', value: 'adminv1alphaDisplayVideo360AdvertiserLinksPatch', action: 'Updates display and video 360 advertiser link', description: 'Updates display and video 360 advertiser link' }
                    ],
                    default: 'adminv1alphaDisplayVideo360AdvertiserLinksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphasDisplayVideo360AdvertiserLinkProposals'] } },
                    options: [
                        { name: 'Approve Display & Video 360 Advertiser Link Proposal', value: 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsApprove', action: 'Approves a display and video 360 advertiser link proposal', description: 'Approves a display and video 360 advertiser link proposal' },
                        { name: 'Cancel Display & Video 360 Advertiser Link Proposal', value: 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsCancel', action: 'Cancels a display and video 360 advertiser link proposal', description: 'Cancels a display and video 360 advertiser link proposal' },
                        { name: 'Create Display & Video 360 Advertiser Link Proposal', value: 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsCreate', action: 'Creates a display and video 360 advertiser link proposal', description: 'Creates a display and video 360 advertiser link proposal' },
                        { name: 'Delete Display & Video 360 Advertiser Link Proposal', value: 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsDelete', action: 'Deletes a display and video 360 advertiser link proposal', description: 'Deletes a display and video 360 advertiser link proposal' },
                        { name: 'Get Display & Video 360 Advertiser Link Proposal', value: 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsGet', action: 'Gets a display and video 360 advertiser link proposal', description: 'Gets a display and video 360 advertiser link proposal' },
                        { name: 'List Display & Video 360 Advertiser Link Proposals', value: 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsList', action: 'Lists display and video 360 advertiser link proposals', description: 'Lists display and video 360 advertiser link proposals' }
                    ],
                    default: 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaEventCreateRules'] } },
                    options: [
                        { name: 'Create Event Create Rule', value: 'adminv1alphaEventCreateRulesCreate', action: 'Creates an event create rule', description: 'Creates an event create rule' },
                        { name: 'Delete Event Create Rule', value: 'adminv1alphaEventCreateRulesDelete', action: 'Deletes an event create rule', description: 'Deletes an event create rule' },
                        { name: 'Get Event Create Rule', value: 'adminv1alphaEventCreateRulesGet', action: 'Gets an event create rule', description: 'Gets an event create rule' },
                        { name: 'List Event Create Rules', value: 'adminv1alphaEventCreateRulesList', action: 'Lists event create rules', description: 'Lists event create rules' },
                        { name: 'Update Event Create Rule', value: 'adminv1alphaEventCreateRulesPatch', action: 'Creates an event create rule', description: 'Creates an event create rule' }
                    ],
                    default: 'adminv1alphaEventCreateRulesCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaEventEditRules'] } },
                    options: [
                        { name: 'Create Event Edit Rule', value: 'adminv1alphaEventEditRulesCreate', action: 'Creates an event edit rule', description: 'Creates an event edit rule' },
                        { name: 'Delete Event Edit Rule', value: 'adminv1alphaEventEditRulesDelete', action: 'Deletes an event edit rule', description: 'Deletes an event edit rule' },
                        { name: 'Get Event Edit Rule', value: 'adminv1alphaEventEditRulesGet', action: 'Gets an event edit rule', description: 'Gets an event edit rule' },
                        { name: 'List Event Edit Rules', value: 'adminv1alphaEventEditRulesList', action: 'Lists event edit rules', description: 'Lists event edit rules' },
                        { name: 'Reorder Event Edit Rules', value: 'adminv1alphaEventEditRulesReorder', action: 'Reorders event edit rules', description: 'Reorders event edit rules' },
                        { name: 'Update Event Edit Rule', value: 'adminv1alphaEventEditRulesPatch', action: 'Creates an event edit rule', description: 'Creates an event edit rule' }
                    ],
                    default: 'adminv1alphaEventEditRulesCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaExpandedDataSets'] } },
                    options: [
                        { name: 'Create Expanded Data Set', value: 'adminv1alphaExpandedDataSetsCreate', action: 'Creates an expanded data set', description: 'Creates an expanded data set' },
                        { name: 'Delete Expanded Data Set', value: 'adminv1alphaExpandedDataSetsDelete', action: 'Deletes an expanded data set', description: 'Deletes an expanded data set' },
                        { name: 'Get Expanded Data Set', value: 'adminv1alphaExpandedDataSetsGet', action: 'Gets an expanded data set', description: 'Gets an expanded data set' },
                        { name: 'List Expanded Data Sets', value: 'adminv1alphaExpandedDataSetsList', action: 'Lists expanded data sets', description: 'Lists expanded data sets' },
                        { name: 'Update Expanded Data Set', value: 'adminv1alphaExpandedDataSetsPatch', action: 'Updates an expanded data set', description: 'Updates an expanded data set' }
                    ],
                    default: 'adminv1alphaExpandedDataSetsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaFirebaseLinks'] } },
                    options: [
                        { name: 'Create Firebase Link', value: 'adminv1alphaFirebaseLinksCreate', action: 'Creates a firebase link', description: 'Creates a firebase link' },
                        { name: 'Delete Firebase Link', value: 'adminv1alphaFirebaseLinksDelete', action: 'Deletes a firebase link', description: 'Deletes a firebase link' },
                        { name: 'List Firebase Links', value: 'adminv1alphaFirebaseLinksList', action: 'Lists firebase links', description: 'Lists firebase links' }
                    ],
                    default: 'adminv1alphaFirebaseLinksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaGoogleAdsLinks'] } },
                    options: [
                        { name: 'Create Google Ads Link', value: 'adminv1alphaGoogleAdsLinksCreate', action: 'Creates a google ads link', description: 'Creates a google ads link' },
                        { name: 'Delete Google Ads Link', value: 'adminv1alphaGoogleAdsLinksDelete', action: 'Deletes a google ads link', description: 'Deletes a google ads link' },
                        { name: 'List Google Ads Links', value: 'adminv1alphaGoogleAdsLinksList', action: 'Lists google ads links', description: 'Lists google ads links' },
                        { name: 'Update Google Ads Link', value: 'adminv1alphaGoogleAdsLinksPatch', action: 'Updates a google ads link', description: 'Updates google ads links' }
                    ],
                    default: 'adminv1alphaGoogleAdsLinksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaKeyEvents'] } },
                    options: [
                        { name: 'Create Key Event', value: 'adminv1alphaKeyEventsCreate', action: 'Creates a key event', description: 'Creates a key event' },
                        { name: 'Delete Key Event', value: 'adminv1alphaKeyEventsDelete', action: 'Deletes a key event', description: 'Deletes a key event' },
                        { name: 'Get Key Event', value: 'adminv1alphaKeyEventsGet', action: 'Gets a key event', description: 'Gets a key event' },
                        { name: 'List Key Events', value: 'adminv1alphaKeyEventsList', action: 'Lists key events', description: 'Lists key events' },
                        { name: 'Update Key Event', value: 'adminv1alphaKeyEventsPatch', action: 'Updates a key event', description: 'Updates a key event' }
                    ],
                    default: 'adminv1alphaKeyEventsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaMeasurementProtocolSecrets'] } },
                    options: [
                        { name: 'Create Measurement Protocol Secret', value: 'adminv1alphaMeasurementProtocolSecretsCreate', action: 'Creates a measurement protocol secret', description: 'Creates a measurement protocol secret' },
                        { name: 'Delete Measurement Protocol Secret', value: 'adminv1alphaMeasurementProtocolSecretsDelete', action: 'Deletes a measurement protocol secret', description: 'Deletes a measurement protocol secret' },
                        { name: 'Get Measurement Protocol Secret', value: 'adminv1alphaMeasurementProtocolSecretsGet', action: 'Gets a measurement protocol secret', description: 'Gets a measurement protocol secret' },
                        { name: 'List Measurement Protocol Secrets', value: 'adminv1alphaMeasurementProtocolSecretsList', action: 'Lists measurement protocol secrets', description: 'Lists measurement protocol secrets' },
                        { name: 'Update Measurement Protocol Secret', value: 'adminv1alphaMeasurementProtocolSecretsPatch', action: 'Updates a measurement protocol secret', description: 'Updates a measurement protocol secret' }
                    ],
                    default: 'adminv1alphaMeasurementProtocolSecretsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaProperties'] } },
                    options: [
                        { name: 'Acknowledge User Data Collection', value: 'adminv1alphaPropertiesUserDataCollectionAcknowledge', action: 'Acknowledges the terms of user data collection', description: 'Acknowledges the terms of user data collection for the specified property' },
                        { name: 'Create Connected Site Tag', value: 'adminv1alphaPropertiesConnectedSiteTagsCreate', action: 'Creates a connected site tag', description: 'Creates a connected site tag for a universal analytics property' },
                        { name: 'Create Property', value: 'adminv1alphaPropertiesPropertyCreate', action: 'Creates a property', description: 'Creates a property with the specified location and attributes' },
                        { name: 'Create Rollup Property', value: 'adminv1alphaPropertiesRollupPropertyCreate', action: 'Creates a property', description: 'Create a roll-up property and all roll-up property source links' },
                        { name: 'Delete Connected Site Tag', value: 'adminv1alphaPropertiesConnectedSiteTagsDelete', action: 'Deletes a connected site tag', description: 'Deletes a connected site tag for a universal analytics property' },
                        { name: 'Delete Property', value: 'adminv1alphaPropertiesPropertyDelete', action: 'Deletes a property', description: 'Marks target property as soft-deleted (ie: "trashed") and returns it' },
                        { name: 'Fetch Automated GA4 Configuration Opt Out', value: 'adminv1alphaPropertiesAutomatedGa4ConfigurationOptOutFetch', action: 'Fetches the opt out status for the automated GA4 setup process', description: 'Fetches the opt out status for the automated ga4 setup process for a universal Analytics property' },
                        { name: 'Fetch Connected GA4 Property', value: 'adminv1alphaPropertiesConnectedGA4Fetch', action: 'Fetches the ga4 property linked to a given universal analytics property', description: 'Given a specified universal analytics property, looks up the ga4 property connected to it' },
                        { name: 'Get Property', value: 'adminv1alphaPropertiesPropertyGet', action: 'Gets a single property', description: 'Gets a single property' },
                        { name: 'Get Property Attribution Settings', value: 'adminv1alphaPropertiesPropertyAttributionSettingsGet', action: 'Gets attribution settings', description: 'Gets attribution settings' },
                        { name: 'Get Property Data Retention Settings', value: 'adminv1alphaPropertiesPropertyDataRetentionSettingsGet', action: 'Gets data retention settings', description: 'Gets data retention settings' },
                        { name: 'Get Property Google Signals Settings', value: 'adminv1alphaPropertiesPropertyGoogleSignalsSettingsGet', action: 'Gets google signals settings', description: 'Gets google signals settings' },
                        { name: 'List Connected Site Tags', value: 'adminv1alphaPropertiesConnetedSiteTagsList', action: 'List properties under the specified parent account', description: 'List properties under the specified parent account' },
                        { name: 'List Properties', value: 'adminv1alphaPropertiesList', action: 'Lists the connected site tags for a universal analytics property', description: 'Lists the connected site tags for a universal analytics property' },
                        { name: 'Provision Subproperty', value: 'adminv1alphaPropertiesSubpropertyProvision', action: 'Create a subproperty', description: 'Create a subproperty and a subproperty event filter that applies to the created subproperty' },
                        { name: 'Run Access Report', value: 'adminv1alphaPropertiesAccessReportRun', action: 'Returns a customized report of data access records', description: 'Returns a customized report of data access records' },
                        { name: 'Set Automated GA4 Configuration Opt Out', value: 'adminv1alphaPropertiesSetAutomatedGa4ConfigurationOptOut', action: 'Sets the opt out status for the automated ga4 setup process', description: 'Sets the opt out status for the automated ga4 setup process' },
                        { name: 'Update Property', value: 'adminv1alphaPropertiesPropertyPatch', action: 'Updates a property', description: 'Updates a property' },
                        { name: 'Update Property Attribution Settings', value: 'adminv1alphaPropertiesPropertyAttributionSettingsPatch', action: 'Updates attribution settings', description: 'Updates attribution settings' },
                        { name: 'Update Property Data Retention Settings', value: 'adminv1alphaPropertiesPropertyDataRetentionSettingsPatch', action: 'Updates data retention settings', description: 'Updates data retention settings' },
                        { name: 'Update Property Google Signals Settings', value: 'adminv1alphaPropertiesPropertyGoogleSignalsSettingsPatch', action: 'Updates google signals settings', description: 'Updates google signals settings' }
                    ],
                    default: 'adminv1alphaPropertiesUserDataCollectionAcknowledge',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaPropertiesAccessBindings'] } },
                    options: [
                        { name: 'Batch Create Property Access Bindings', value: 'adminv1alphaPropertiesAccessBindingsBatchesCreate', action: 'Batches create property access bindings', description: 'Creates information about multiple access bindings' },
                        { name: 'Batch Delete Property Access Bindings', value: 'adminv1alphaPropertiesAccessBindingsBatchesRemove', action: 'Batches delete property access bindings', description: 'Deletes information about multiple users links' },
                        { name: 'Batch Get Property Access Bindings', value: 'adminv1alphaPropertiesAccessBindingsBatchesGet', action: 'Batches get property access bindings', description: 'Gets information about multiple access bindings' },
                        { name: 'Batch Update Property Access Bindings', value: 'adminv1alphaPropertiesAccessBindingsBatchesUpdate', action: 'Batches update property access bindings', description: 'Updates information about multiple access bindings' },
                        { name: 'Create Property Access Binding', value: 'adminv1alphaPropertiesAccessBindingsCreate', action: 'Creates an property access binding', description: 'Creates an access binding' },
                        { name: 'Delete Property Access Binding', value: 'adminv1alphaPropertiesAccessBindingsDelete', action: 'Deletes an property access binding', description: 'Deletes an access binding' },
                        { name: 'Get Property Access Binding', value: 'adminv1alphaPropertiesAccessBindingsGet', action: 'Get an property access binding', description: 'Gets information about an access binding' },
                        { name: 'List Property Access Bindings', value: 'adminv1alphaPropertiesAccessBindingsList', action: 'List property access bindings', description: 'Lists all access bindings' },
                        { name: 'Update Property Access Binding', value: 'adminv1alphaPropertiesAccessBindingsPatch', action: 'Update an property access binding', description: 'Updates an access binding' }
                    ],
                    default: 'adminv1alphaPropertiesAccessBindingsBatchesCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaReportingDataAnnotations'] } },
                    options: [
                        { name: 'Create Reporting Data Annotation', value: 'adminv1alphaReportingDataAnnotationsCreate', action: 'Creates a reporting data annotation', description: 'Creates a reporting data annotation' },
                        { name: 'Delete Reporting Data Annotation', value: 'adminv1alphaReportingDataAnnotationsDelete', action: 'Deletes a reporting data annotation', description: 'Deletes a reporting data annotation' },
                        { name: 'Get Reporting Data Annotation', value: 'adminv1alphaReportingDataAnnotationsGet', action: 'Gets a reporting data annotation', description: 'Gets a reporting data annotation' },
                        { name: 'List Reporting Data Annotations', value: 'adminv1alphaReportingDataAnnotationsList', action: 'Lists reporting data annotations', description: 'Lists reporting data annotations' },
                        { name: 'Update Reporting Data Annotation', value: 'adminv1alphaReportingDataAnnotationsPatch', action: 'Updates a reporting data annotation', description: 'Updates a reporting data annotation' }
                    ],
                    default: 'adminv1alphaReportingDataAnnotationsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaRollupPropertySourceLinks'] } },
                    options: [
                        { name: 'Create Rollup Property Source Link', value: 'adminv1alphaRollupPropertySourceLinksCreate', action: 'Creates a rollup property source link', description: 'Creates a rollup property source link' },
                        { name: 'Delete Rollup Property Source Link', value: 'adminv1alphaRollupPropertySourceLinksDelete', action: 'Deletes a rollup property source link', description: 'Deletes a rollup property source link' },
                        { name: 'Get Rollup Property Source Link', value: 'adminv1alphaRollupPropertySourceLinksGet', action: 'Gets a rollup property source link', description: 'Gets a rollup property source link' },
                        { name: 'List Rollup Property Source Links', value: 'adminv1alphaRollupPropertySourceLinksList', action: 'Lists rollup property source links', description: 'Lists rollup property source links' }
                    ],
                    default: 'adminv1alphaRollupPropertySourceLinksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaSearchAds360Links'] } },
                    options: [
                        { name: 'Create Search Ads 360 Link', value: 'adminv1alphaSearchAds360LinksCreate', action: 'Creates a search ads 360 link', description: 'Creates a search ads 360 link' },
                        { name: 'Delete Search Ads 360 Link', value: 'adminv1alphaSearchAds360LinksDelete', action: 'Deletes asearch ads 360 link', description: 'Deletes a search ads 360 link' },
                        { name: 'Get Search Ads 360 Link', value: 'adminv1alphaSearchAds360LinksGet', action: 'Gets a search ads 360 link', description: 'Gets a search ads 360 link' },
                        { name: 'List Search Ads 360 Links', value: 'adminv1alphaSearchAds360LinksList', action: 'Lists search ads 360 links', description: 'Lists search ads 360 links' },
                        { name: 'Update Search Ads 360 Link', value: 'adminv1alphaSearchAds360LinksPatch', action: 'Updates search ads 360 link', description: 'Updates search ads 360 link' }
                    ],
                    default: 'adminv1alphaSearchAds360LinksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaSKAdNetworkConversionValueSchemas'] } },
                    options: [
                        { name: 'Create SKAdNetwork Conversion Value Schema', value: 'adminv1alphaSKAdNetworkConversionValueSchemasCreate', action: 'Creates a skadnetwork conversion value schema', description: 'Creates a skadnetwork conversion value schema' },
                        { name: 'Delete SKAdNetwork Conversion Value Schema', value: 'adminv1alphaSKAdNetworkConversionValueSchemasDelete', action: 'Deletes a skadnetwork conversion value schema', description: 'Deletes a skadnetwork conversion value schema' },
                        { name: 'Get SKAdNetwork Conversion Value Schema', value: 'adminv1alphaSKAdNetworkConversionValueSchemasGet', action: 'Gets a skadnetwork conversion value schema', description: 'Gets a skadnetwork conversion value schema' },
                        { name: 'List SKAdNetwork Conversion Value Schemas', value: 'adminv1alphaSKAdNetworkConversionValueSchemasList', action: 'Lists skadnetwork conversion value schemas', description: 'Lists skadnetwork conversion value schemas' },
                        { name: 'Update SKAdNetwork Conversion Value Schema', value: 'adminv1alphaSKAdNetworkConversionValueSchemasPatch', action: 'Updates a skadnetwork conversion value schema', description: 'Updates a skadnetwork conversion value schema' }
                    ],
                    default: 'adminv1alphaSKAdNetworkConversionValueSchemasCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1alphaPropertiesSubpropertyEventFilters'] } },
                    options: [
                        { name: 'Create Subproperty Event Filter', value: 'adminv1alphaPropertiesSubpropertyEventFiltersCreate', action: 'Creates a subproperty event filter', description: 'Creates a subproperty event filter' },
                        { name: 'Delete Subproperty Event Filter', value: 'adminv1alphaPropertiesSubpropertyEventFiltersDelete', action: 'Deletes a subproperty event filter', description: 'Deletes a subproperty event filter' },
                        { name: 'Get Subproperty Event Filter', value: 'adminv1alphaPropertiesSubpropertyEventFiltersGet', action: 'Gets a subproperty event filter', description: 'Gets a subproperty event filter' },
                        { name: 'List Subproperty Event Filters', value: 'adminv1alphaPropertiesSubpropertyEventFiltersList', action: 'Lists subproperty event filters', description: 'Lists subproperty event filters' },
                        { name: 'Update Subproperty Event Filter', value: 'adminv1alphaPropertiesSubpropertyEventFiltersPatch', action: 'Updates a subproperty event filter', description: 'Updates a subproperty event filter' }
                    ],
                    default: 'adminv1alphaPropertiesSubpropertyEventFiltersCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaAccounts'] } },
                    options: [
                        { name: 'Delete Account', value: 'adminv1betaAccountsDelete', action: 'Deletes an account', description: 'Deletes an account' },
                        { name: 'Get Account', value: 'adminv1betaAccountsGet', action: 'Gets an account', description: 'Gets an account' },
                        { name: 'Get Account Data Sharing Settings', value: 'adminv1betaAccountsGetDataSharingSettings', action: 'Gets account data sharing settings', description: 'Gets account data sharing settings' },
                        { name: 'List Accounts', value: 'adminv1betaAccountsList', action: 'Lists accounts', description: 'Lists accounts' },
                        { name: 'Provision Account Ticket', value: 'adminv1betaAccountsAccountTicketProvision', action: 'Requests a ticket for creating an account', description: 'Requests a ticket for creating an account' },
                        { name: 'Run Access Report', value: 'adminv1betaAccountsAccessReportRun', action: 'Runs an access report', description: 'Runs an access report' },
                        { name: 'Search Change History Events', value: 'adminv1betaAccountsChangeHistoryEventsSearch', action: 'Searches changes to an account', description: 'Searches through all changes to an account or its children given the specified set of filters' },
                        { name: 'Udapte Account', value: 'adminv1betaAccountsPatch', action: 'Updates an account', description: 'Updates an account' }
                    ],
                    default: 'adminv1betaAccountsGet',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaAccountSummaries'] } },
                    options: [
                        { name: 'List Account Summaries', value: 'adminv1betaAccountSummariesList', action: 'Lists account summaries', description: 'Returns summaries of all accounts accessible by the caller' }
                    ],
                    default: 'adminv1betaAccountSummariesList',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaCustomDimensions'] } },
                    options: [
                        { name: 'Archive Custom Dimension', value: 'adminv1betaCustomDimensionsArchive', action: 'Archives a custom dimension', description: 'Archives a custom dimension' },
                        { name: 'Create Custom Dimension', value: 'adminv1betaCustomDimensionsCreate', action: 'Creates a custom dimension', description: 'Creates a custom dimension' },
                        { name: 'Get Custom Dimension', value: 'adminv1betaCustomDimensionsGet', action: 'Gets a custom dimension', description: 'Gets a custom dimension' },
                        { name: 'List Custom Dimensions', value: 'adminv1betaCustomDimensionsList', action: 'Lists custom dimensions', description: 'Lists custom dimensions' },
                        { name: 'Update Custom Dimension', value: 'adminv1betaCustomDimensionsPatch', action: 'Updates custom dimension', description: 'Updates custom dimension' }
                    ],
                    default: 'adminv1betaCustomDimensionsArchive',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaCustomMetrics'] } },
                    options: [
                        { name: 'Archive Custom Metric', value: 'adminv1betaCustomMetricsArchive', action: 'Archives a custom metric', description: 'Archives a custom metric' },
                        { name: 'Create Custom Metric', value: 'adminv1betaCustomMetricsCreate', action: 'Creates a custom metric', description: 'Creates a custom metric' },
                        { name: 'Get Custom Metric', value: 'adminv1betaCustomMetricsGet', action: 'Gets a custom metric', description: 'Gets a custom metric' },
                        { name: 'List Custom Metrics', value: 'adminv1betaCustomMetricsList', action: 'Lists custom metrics', description: 'Lists custom metrics' },
                        { name: 'Update Custom Metric', value: 'adminv1betaCustomMetricsPatch', action: 'Updates custom metric', description: 'Updates custom metric' }
                    ],
                    default: 'adminv1betaCustomMetricsArchive',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaDataStreams'] } },
                    options: [
                        { name: 'Create Data Stream', value: 'adminv1betaDataStreamsCreate', action: 'Creates a data stream', description: 'Creates a data stream' },
                        { name: 'Delete Data Stream', value: 'adminv1betaDataStreamsDelete', action: 'Deletes a data stream', description: 'Deletes a data stream' },
                        { name: 'Get Data Stream', value: 'adminv1betaDataStreamsGet', action: 'Gets a data stream', description: 'Gets a data stream' },
                        { name: 'List Data Streams', value: 'adminv1betaDataStreamsList', action: 'Lists data streams', description: 'Lists data streams' },
                        { name: 'Update Data Stream', value: 'adminv1betaDataStreamsPatch', action: 'Updates a data stream', description: 'Updates a data stream' }
                    ],
                    default: 'adminv1betaDataStreamsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaFirebaseLinks'] } },
                    options: [
                        { name: 'Create Firebase Link', value: 'adminv1betaFirebaseLinksCreate', action: 'Creates a firebase link', description: 'Creates a firebase link' },
                        { name: 'Delete Firebase Link', value: 'adminv1betaFirebaseLinksDelete', action: 'Deletes a firebase link', description: 'Deletes a firebase link' },
                        { name: 'List Firebase Links', value: 'adminv1betaFirebaseLinksList', action: 'Lists firebase links', description: 'Lists firebase links' }
                    ],
                    default: 'adminv1betaFirebaseLinksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaGoogleAdsLinks'] } },
                    options: [
                        { name: 'Create Google Ads Link', value: 'adminv1betaGoogleAdsLinksCreate', action: 'Creates a google ads link', description: 'Creates a google ads link' },
                        { name: 'Delete Google Ads Link', value: 'adminv1betaGoogleAdsLinksDelete', action: 'Deletes a google ads link', description: 'Deletes a google ads link' },
                        { name: 'List Google Ads Links', value: 'adminv1betaGoogleAdsLinksList', action: 'Lists google ads links', description: 'Lists google ads links' },
                        { name: 'Update Google Ads Link', value: 'adminv1betaGoogleAdsLinksPatch', action: 'Updates a google ads link', description: 'Updates google ads links' }
                    ],
                    default: 'adminv1betaGoogleAdsLinksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaKeyEvents'] } },
                    options: [
                        { name: 'Create Key Event', value: 'adminv1betaKeyEventsCreate', action: 'Creates a key event', description: 'Creates a key event' },
                        { name: 'Delete Key Event', value: 'adminv1betaKeyEventsDelete', action: 'Deletes a key event', description: 'Deletes a key event' },
                        { name: 'Get Key Event', value: 'adminv1betaKeyEventsGet', action: 'Gets a key event', description: 'Gets a key event' },
                        { name: 'List Key Events', value: 'adminv1betaKeyEventsList', action: 'Lists key events', description: 'Lists key events' },
                        { name: 'Update Key Event', value: 'adminv1betaKeyEventsPatch', action: 'Updates a key event', description: 'Updates a key event' }
                    ],
                    default: 'adminv1betaKeyEventsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaMeasurementProtocolSecrets'] } },
                    options: [
                        { name: 'Create Measurement Protocol Secret', value: 'adminv1betaMeasurementProtocolSecretsCreate', action: 'Creates a measurement protocol secret', description: 'Creates a measurement protocol secret' },
                        { name: 'Delete Measurement Protocol Secret', value: 'adminv1betaMeasurementProtocolSecretsDelete', action: 'Deletes a measurement protocol secret', description: 'Deletes a measurement protocol secret' },
                        { name: 'Get Measurement Protocol Secret', value: 'adminv1betaMeasurementProtocolSecretsGet', action: 'Gets a measurement protocol secret', description: 'Gets a measurement protocol secret' },
                        { name: 'List Measurement Protocol Secrets', value: 'adminv1betaMeasurementProtocolSecretsList', action: 'Lists measurement protocol secrets', description: 'Lists measurement protocol secrets' },
                        { name: 'Update Measurement Protocol Secret', value: 'adminv1betaMeasurementProtocolSecretsPatch', action: 'Updates a measurement protocol secret', description: 'Updates a measurement protocol secret' }
                    ],
                    default: 'adminv1betaMeasurementProtocolSecretsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['adminv1betaProperties'] } },
                    options: [
                        { name: 'Acknowledge User Data Collection', value: 'adminv1betaPropertiesUserDataCollectionAcknowledge', action: 'Acknowledges the terms of user data collection', description: 'Acknowledges the terms of user data collection for the specified property' },
                        { name: 'Create Property', value: 'adminv1betaPropertiesPropertyCreate', action: 'Creates a property', description: 'Creates a property with the specified location and attributes' },
                        { name: 'Delete Property', value: 'adminv1betaPropertiesPropertyDelete', action: 'Deletes a property', description: 'Marks target property as soft-deleted (ie: "trashed") and returns it' },
                        { name: 'Get Property', value: 'adminv1betaPropertiesPropertyGet', action: 'Gets a single property', description: 'Gets a single property' },
                        { name: 'Get Property Data Retention Settings', value: 'adminv1betaPropertiesPropertyDataRetentionSettingsGet', action: 'Gets data retention settings', description: 'Gets data retention settings' },
                        { name: 'List Properties', value: 'adminv1betaPropertiesList', action: 'Lists the connected site tags for a universal analytics property', description: 'Lists the connected site tags for a universal analytics property' },
                        { name: 'Run Access Report', value: 'adminv1betaPropertiesAccessReportRun', action: 'Returns a customized report of data access records', description: 'Returns a customized report of data access records' },
                        { name: 'Update Property', value: 'adminv1betaPropertiesPropertyPatch', action: 'Updates a property', description: 'Updates a property' },
                        { name: 'Update Property Data Retention Settings', value: 'adminv1betaPropertiesPropertyDataRetentionSettingsPatch', action: 'Updates data retention settings', description: 'Updates data retention settings' }
                    ],
                    default: 'adminv1betaPropertiesUserDataCollectionAcknowledge',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['datav1alphaAudienceLists'] } },
                    options: [
                        { name: 'Create Audience List', value: 'datav1alphaAudienceListsCreate', action: 'Creates an audience list', description: 'Creates an audience list' },
                        { name: 'Export Audience List to Google Sheet', value: 'datav1alphaAudienceListsExportSheet', action: 'Exports an audience list', description: 'Exports an audience list' },
                        { name: 'Get Audience List', value: 'datav1alphaAudienceListsGet', action: 'Gets an audience list', description: 'Gets an audience list' },
                        { name: 'List Audience Lists', value: 'datav1alphaAudienceListsList', action: 'Lists audience lists', description: 'Lists audience lists' },
                        { name: 'Query Audience List', value: 'datav1alphaAudienceListsQuery', action: 'Retrieves an audience list', description: 'Retrieves an audience list' }
                    ],
                    default: 'datav1alphaAudienceListsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['datav1alphaProperties'] } },
                    options: [
                        { name: 'Get Property Quotas Snapshot', value: 'datav1alphaPropertiesGetPropertyQuotaSnapshot', action: 'Gets all property quotas', description: 'Gets all property quotas' },
                        { name: 'Run Funnel Report', value: 'datav1alphaPropertiesFunnelReportRun', action: 'Runs a funnel report', description: 'Runs a funnel report' }
                    ],
                    default: 'datav1alphaPropertiesGetPropertyQuotaSnapshot',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['datav1alphaRecurringAudienceLists'] } },
                    options: [
                        { name: 'Create Recurring Audience List', value: 'datav1alphaRecurringAudienceListsCreate', action: 'Creates a recurring audience list', description: 'Creates a recurring audience list' },
                        { name: 'Get Recurring Audience List', value: 'datav1alphaRecurringAudienceListsGet', action: 'Gets a recurring audience list', description: 'Gets a recurring audience list' },
                        { name: 'List Recurring Audience Lists', value: 'datav1alphaRecurringAudienceListsList', action: 'Lists recurring audience lists', description: 'Lists recurring audience lists' }
                    ],
                    default: 'datav1alphaRecurringAudienceListsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['datav1alphaReportTasks'] } },
                    options: [
                        { name: 'Create Report Task', value: 'datav1alphaReportTasksCreate', action: 'Creates a report task', description: 'Creates a report task' },
                        { name: 'Get Report Task', value: 'datav1alphaReportTasksGet', action: 'Gets a report task', description: 'Gets a report task' },
                        { name: 'List Report Tasks', value: 'datav1alphaReportTasksList', action: 'Lists report tasks', description: 'Lists report tasks' },
                        { name: 'Query Report Task', value: 'datav1alphaReportTasksQuery', action: 'Retrieves a report task', description: 'Retrieves a report task' }
                    ],
                    default: 'datav1alphaReportTasksCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['datav1betaAudienceExports'] } },
                    options: [
                        { name: 'Create Audience Export', value: 'datav1betaAudienceExportsCreate', action: 'Creates an audience export', description: 'Creates an audience export' },
                        { name: 'Get Audience Export', value: 'datav1betaAudienceExportsGet', action: 'Gets an audience export', description: 'Gets an audience export' },
                        { name: 'List Audience Exports', value: 'datav1betaAudienceExportsList', action: 'Lists audience exports', description: 'Lists audience exports' },
                        { name: 'Query Audience Export', value: 'datav1betaAudienceExportsQuery', action: 'Retrieves an audience export', description: 'Retrieves an audience export' }
                    ],
                    default: 'datav1betaAudienceExportsCreate',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['datav1betaProperties'] } },
                    options: [
                        { name: 'Batch Run Pivot Reports', value: 'datav1betaPropertiesBatchPivotReportsRun', action: 'Runs pivot reports in a batch', description: 'Runs pivot reports in a batch' },
                        { name: 'Batch Run Reports', value: 'datav1betaPropertiesBatchReportsRun', action: 'Runs reports in a batch', description: 'Runs reports in a batch' },
                        { name: 'Check Compatibility', value: 'datav1betaPropertiesCompatibilityCheck', action: 'Checks for compatibility of dimensions and metrics', description: 'Checks for compatibility of dimensions and metrics' },
                        { name: 'Get Metadata', value: 'datav1betaPropertiesGetMetadata', action: 'Gets metadata', description: 'Gets metadata' },
                        { name: 'Run Pivot Report', value: 'datav1betaPropertiesPivotReportRun', action: 'Runs a pivot report', description: 'Runs a pivot report' },
                        { name: 'Run Realtime Report', value: 'datav1betaPropertiesRealtimeReportRun', action: 'Runs a realtime report', description: 'Runs a realtime report' },
                        { name: 'Run Report', value: 'datav1betaPropertiesReportRun', action: 'Runs a report', description: 'Runs a report' }
                    ],
                    default: 'datav1betaPropertiesBatchPivotReportsRun',
                    required: true,
                },
                {
                    displayName: 'Operation',
                    name: 'operation',
                    type: 'options',
                    noDataExpression: true,
                    displayOptions: { show: { resource: ['userDeletion'] } },
                    options: [
                        { name: 'Insert or Update a User Deletion Request', value: 'userDeletionUpsert', action: 'Inserts or updates a user deletion request', description: 'Inserts or updates a user deletion request' }
                    ],
                    default: 'userDeletionUpsert',
                    required: true,
                },
                {
                    displayName: 'Account ID',
                    name: 'accountId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaAccountsAccessBindingsBatchesCreate', 'adminv1alphaAccountsAccessBindingsBatchesGet', 'adminv1alphaAccountsAccessBindingsBatchesRemove', 'adminv1alphaAccountsAccessBindingsBatchesUpdate', 'adminv1alphaAccountsAccessBindingsCreate', 'adminv1alphaAccountsAccessBindingsDelete', 'adminv1alphaAccountsAccessBindingsGet', 'adminv1alphaAccountsAccessBindingsList', 'adminv1alphaAccountsAccessBindingsPatch', 'adminv1alphaAccountsDelete', 'adminv1alphaAccountsGet', 'adminv1alphaAccountsGetDataSharingSettings', 'adminv1alphaAccountsPatch', 'adminv1betaAccountsAccessReportRun', 'adminv1betaAccountsAccessReportRun', 'adminv1betaAccountsChangeHistoryEventsSearch', 'adminv1betaAccountsChangeHistoryEventsSearch', 'adminv1betaAccountsDelete', 'adminv1betaAccountsGet', 'adminv1betaAccountsGetDataSharingSettings', 'adminv1betaAccountsPatch'] } }
                },
                {
                    displayName: 'Property ID',
                    name: 'propertyId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ["adminv1alphaAdSenseLinksCreate", "adminv1alphaAdSenseLinksDelete", "adminv1alphaAdSenseLinksGet", "adminv1alphaAdSenseLinksList", "adminv1alphaAudiencesArchive", "adminv1alphaAudiencesCreate", "adminv1alphaAudiencesGet", "adminv1alphaAudiencesList", "adminv1alphaAudiencesPatch", "adminv1alphaBigQueryLinksCreate", "adminv1alphaBigQueryLinksDelete", "adminv1alphaBigQueryLinksGet", "adminv1alphaBigQueryLinksList", "adminv1alphaBigQueryLinksPatch", "adminv1alphaCalculatedMetricsCreate", "adminv1alphaCalculatedMetricsDelete", "adminv1alphaCalculatedMetricsGet", "adminv1alphaCalculatedMetricsList", "adminv1alphaCalculatedMetricsPatch", "adminv1alphaChannelGroupsCreate", "adminv1alphaChannelGroupsDelete", "adminv1alphaChannelGroupsGet", "adminv1alphaChannelGroupsList", "adminv1alphaChannelGroupsPatch", "adminv1alphaCustomDimensionsArchive", "adminv1alphaCustomDimensionsCreate", "adminv1alphaCustomDimensionsGet", "adminv1alphaCustomDimensionsList", "adminv1alphaCustomDimensionsPatch", "adminv1alphaCustomMetricsArchive", "adminv1alphaCustomMetricsCreate", "adminv1alphaCustomMetricsGet", "adminv1alphaCustomMetricsList", "adminv1alphaCustomMetricsPatch", "adminv1alphaDataStreamsCreate", "adminv1alphaDataStreamsDataRedactionSettingsGet", "adminv1alphaDataStreamsDataRedactionSettingsPatch", "adminv1alphaDataStreamsDelete", "adminv1alphaDataStreamsEnhancedMeasurementSettingsGet", "adminv1alphaDataStreamsEnhancedMeasurementSettingsPatch", "adminv1alphaDataStreamsGet", "adminv1alphaDataStreamsGlobalSiteTagGet", "adminv1alphaDataStreamsList", "adminv1alphaDataStreamsPatch", "adminv1alphaDisplayVideo360AdvertiserLinksCreate", "adminv1alphaDisplayVideo360AdvertiserLinksDelete", "adminv1alphaDisplayVideo360AdvertiserLinksGet", "adminv1alphaDisplayVideo360AdvertiserLinksList", "adminv1alphaDisplayVideo360AdvertiserLinksPatch", "adminv1alphaEventCreateRulesCreate", "adminv1alphaEventCreateRulesDelete", "adminv1alphaEventCreateRulesGet", "adminv1alphaEventCreateRulesList", "adminv1alphaEventCreateRulesPatch", "adminv1alphaEventEditRulesCreate", "adminv1alphaEventEditRulesDelete", "adminv1alphaEventEditRulesGet", "adminv1alphaEventEditRulesList", "adminv1alphaEventEditRulesPatch", "adminv1alphaEventEditRulesReorder", "adminv1alphaExpandedDataSetsCreate", "adminv1alphaExpandedDataSetsDelete", "adminv1alphaExpandedDataSetsGet", "adminv1alphaExpandedDataSetsList", "adminv1alphaExpandedDataSetsPatch", "adminv1alphaFirebaseLinksCreate", "adminv1alphaFirebaseLinksDelete", "adminv1alphaFirebaseLinksList", "adminv1alphaGoogleAdsLinksCreate", "adminv1alphaGoogleAdsLinksDelete", "adminv1alphaGoogleAdsLinksList", "adminv1alphaGoogleAdsLinksPatch", "adminv1alphaKeyEventsCreate", "adminv1alphaKeyEventsDelete", "adminv1alphaKeyEventsGet", "adminv1alphaKeyEventsList", "adminv1alphaKeyEventsPatch", "adminv1alphaMeasurementProtocolSecretsCreate", "adminv1alphaMeasurementProtocolSecretsDelete", "adminv1alphaMeasurementProtocolSecretsGet", "adminv1alphaMeasurementProtocolSecretsList", "adminv1alphaMeasurementProtocolSecretsPatch", "adminv1alphaPropertiesAccessBindingsBatchesCreate", "adminv1alphaPropertiesAccessBindingsBatchesGet", "adminv1alphaPropertiesAccessBindingsBatchesRemove", "adminv1alphaPropertiesAccessBindingsBatchesUpdate", "adminv1alphaPropertiesAccessBindingsCreate", "adminv1alphaPropertiesAccessBindingsDelete", "adminv1alphaPropertiesAccessBindingsGet", "adminv1alphaPropertiesAccessBindingsList", "adminv1alphaPropertiesAccessBindingsPatch", "adminv1alphaPropertiesPropertyAttributionSettingsGet", "adminv1alphaPropertiesPropertyAttributionSettingsPatch", "adminv1alphaPropertiesPropertyDataRetentionSettingsGet", "adminv1alphaPropertiesPropertyDataRetentionSettingsPatch", "adminv1alphaPropertiesPropertyDelete", "adminv1alphaPropertiesPropertyGet", "adminv1alphaPropertiesPropertyGoogleSignalsSettingsGet", "adminv1alphaPropertiesPropertyGoogleSignalsSettingsPatch", "adminv1alphaPropertiesPropertyPatch", "adminv1alphaPropertiesSubpropertyEventFiltersCreate", "adminv1alphaPropertiesSubpropertyEventFiltersDelete", "adminv1alphaPropertiesSubpropertyEventFiltersGet", "adminv1alphaPropertiesSubpropertyEventFiltersList", "adminv1alphaPropertiesSubpropertyEventFiltersPatch", "adminv1alphaPropertiesUserDataCollectionAcknowledge", "adminv1alphaReportingDataAnnotationsCreate", "adminv1alphaReportingDataAnnotationsDelete", "adminv1alphaReportingDataAnnotationsGet", "adminv1alphaReportingDataAnnotationsList", "adminv1alphaReportingDataAnnotationsPatch", "adminv1alphaRollupPropertySourceLinksCreate", "adminv1alphaRollupPropertySourceLinksDelete", "adminv1alphaRollupPropertySourceLinksGet", "adminv1alphaRollupPropertySourceLinksList", "adminv1alphaSKAdNetworkConversionValueSchemasCreate", "adminv1alphaSKAdNetworkConversionValueSchemasDelete", "adminv1alphaSKAdNetworkConversionValueSchemasGet", "adminv1alphaSKAdNetworkConversionValueSchemasList", "adminv1alphaSKAdNetworkConversionValueSchemasPatch", "adminv1alphaSearchAds360LinksCreate", "adminv1alphaSearchAds360LinksDelete", "adminv1alphaSearchAds360LinksGet", "adminv1alphaSearchAds360LinksList", "adminv1alphaSearchAds360LinksPatch", "adminv1alphasDisplayVideo360AdvertiserLinkProposalsApprove", "adminv1alphasDisplayVideo360AdvertiserLinkProposalsCancel", "adminv1alphasDisplayVideo360AdvertiserLinkProposalsCreate", "adminv1alphasDisplayVideo360AdvertiserLinkProposalsDelete", "adminv1alphasDisplayVideo360AdvertiserLinkProposalsGet", "adminv1alphasDisplayVideo360AdvertiserLinkProposalsList", "adminv1betaCustomDimensionsArchive", "adminv1betaCustomDimensionsCreate", "adminv1betaCustomDimensionsGet", "adminv1betaCustomDimensionsList", "adminv1betaCustomDimensionsPatch", "adminv1betaCustomMetricsArchive", "adminv1betaCustomMetricsCreate", "adminv1betaCustomMetricsGet", "adminv1betaCustomMetricsList", "adminv1betaCustomMetricsPatch", "adminv1betaDataStreamsCreate", "adminv1betaDataStreamsDelete", "adminv1betaDataStreamsGet", "adminv1betaDataStreamsList", "adminv1betaDataStreamsPatch", "adminv1betaFirebaseLinksCreate", "adminv1betaFirebaseLinksDelete", "adminv1betaFirebaseLinksList", "adminv1betaGoogleAdsLinksCreate", "adminv1betaGoogleAdsLinksDelete", "adminv1betaGoogleAdsLinksList", "adminv1betaGoogleAdsLinksPatch", "adminv1betaKeyEventsCreate", "adminv1betaKeyEventsDelete", "adminv1betaKeyEventsGet", "adminv1betaKeyEventsList", "adminv1betaKeyEventsPatch", "adminv1betaMeasurementProtocolSecretsCreate", "adminv1betaMeasurementProtocolSecretsDelete", "adminv1betaMeasurementProtocolSecretsGet", "adminv1betaMeasurementProtocolSecretsList", "adminv1betaMeasurementProtocolSecretsPatch", "adminv1betaPropertiesAccessReportRun", "adminv1betaPropertiesPropertyDataRetentionSettingsGet", "adminv1betaPropertiesPropertyDataRetentionSettingsPatch", "adminv1betaPropertiesPropertyDelete", "adminv1betaPropertiesPropertyGet", "adminv1betaPropertiesPropertyPatch", "adminv1betaPropertiesUserDataCollectionAcknowledge", "datav1alphaAudienceListsCreate", "datav1alphaAudienceListsExportSheet", "datav1alphaAudienceListsGet", "datav1alphaAudienceListsList", "datav1alphaAudienceListsQuery", "datav1alphaPropertiesFunnelReportRun", "datav1alphaPropertiesGetPropertyQuotaSnapshot", "datav1alphaRecurringAudienceListsCreate", "datav1alphaRecurringAudienceListsGet", "datav1alphaRecurringAudienceListsList", "datav1alphaReportTasksCreate", "datav1alphaReportTasksGet", "datav1alphaReportTasksList", "datav1alphaReportTasksQuery", "datav1betaAudienceExportsCreate", "datav1betaAudienceExportsGet", "datav1betaAudienceExportsList", "datav1betaAudienceExportsQuery", "datav1betaPropertiesBatchPivotReportsRun", "datav1betaPropertiesBatchReportsRun", "datav1betaPropertiesCompatibilityCheck", "datav1betaPropertiesGetMetadata", "datav1betaPropertiesPivotReportRun", "datav1betaPropertiesRealtimeReportRun", "datav1betaPropertiesReportRun", "userDeletionUpsert"] } }
                },
                {
                    displayName: 'Data Stream ID',
                    name: 'dataStreamId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaDataStreamsDataRedactionSettingsGet', 'adminv1alphaDataStreamsDataRedactionSettingsPatch', 'adminv1alphaDataStreamsDelete', 'adminv1alphaDataStreamsEnhancedMeasurementSettingsGet', 'adminv1alphaDataStreamsEnhancedMeasurementSettingsPatch', 'adminv1alphaDataStreamsGet', 'adminv1alphaDataStreamsGlobalSiteTagGet', 'adminv1alphaDataStreamsPatch', 'adminv1alphaEventCreateRulesCreate', 'adminv1alphaEventCreateRulesDelete', 'adminv1alphaEventCreateRulesGet', 'adminv1alphaEventCreateRulesList', 'adminv1alphaEventCreateRulesPatch', 'adminv1alphaEventEditRulesCreate', 'adminv1alphaEventEditRulesDelete', 'adminv1alphaEventEditRulesGet', 'adminv1alphaEventEditRulesList', 'adminv1alphaEventEditRulesPatch', 'adminv1alphaEventEditRulesReorder', 'adminv1alphaMeasurementProtocolSecretsCreate', 'adminv1alphaMeasurementProtocolSecretsDelete', 'adminv1alphaMeasurementProtocolSecretsGet', 'adminv1alphaMeasurementProtocolSecretsList', 'adminv1alphaMeasurementProtocolSecretsPatch', 'adminv1alphaSKAdNetworkConversionValueSchemasCreate', 'adminv1alphaSKAdNetworkConversionValueSchemasDelete', 'adminv1alphaSKAdNetworkConversionValueSchemasGet', 'adminv1alphaSKAdNetworkConversionValueSchemasList', 'adminv1alphaSKAdNetworkConversionValueSchemasPatch', 'adminv1betaDataStreamsDelete', 'adminv1betaDataStreamsGet', 'adminv1betaDataStreamsPatch', 'adminv1betaMeasurementProtocolSecretsCreate', 'adminv1betaMeasurementProtocolSecretsDelete', 'adminv1betaMeasurementProtocolSecretsGet', 'adminv1betaMeasurementProtocolSecretsList', 'adminv1betaMeasurementProtocolSecretsPatch'] } }
                },
                {
                    displayName: 'Access Binding ID',
                    name: 'accessBindingId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaAccountsAccessBindingsDelete', 'adminv1alphaAccountsAccessBindingsGet', 'adminv1alphaAccountsAccessBindingsPatch', 'adminv1alphaPropertiesAccessBindingsDelete', 'adminv1alphaPropertiesAccessBindingsGet', 'adminv1alphaPropertiesAccessBindingsPatch'] } }
                },
                {
                    displayName: 'AdSense Link ID',
                    name: 'adSenseLinkId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaAdSenseLinksDelete', 'adminv1alphaAdSenseLinksGet'] } }
                },
                {
                    displayName: 'Audience Export ID',
                    name: 'audienceExportId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['datav1betaAudienceExportsGet', 'datav1betaAudienceExportsQuery'] } }
                },
                {
                    displayName: 'Audience ID',
                    name: 'audienceId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaAudiencesArchive', 'adminv1alphaAudiencesGet', 'adminv1alphaAudiencesPatch'] } }
                },
                {
                    displayName: 'Audience List ID',
                    name: 'audienceListId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['datav1alphaAudienceListsGet', 'datav1alphaAudienceListsExportSheet', 'datav1alphaAudienceListsQuery'] } }
                },
                {
                    displayName: 'BigQuery Link ID',
                    name: 'bigQueryLinkId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaBigQueryLinksDelete', 'adminv1alphaBigQueryLinksGet', 'adminv1alphaBigQueryLinksPatch'] } }
                },
                {
                    displayName: 'Calculated Metric ID',
                    name: 'calculatedMetricId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaCalculatedMetricsDelete', 'adminv1alphaCalculatedMetricsGet', 'adminv1alphaCalculatedMetricsPatch'] } }
                },
                {
                    displayName: 'Channel Group ID',
                    name: 'channelGroupId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaChannelGroupsDelete', 'adminv1alphaChannelGroupsGet', 'adminv1alphaChannelGroupsPatch'] } }
                },
                {
                    displayName: 'Custom Dimension ID',
                    name: 'customDimensionId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaCustomDimensionsArchive', 'adminv1alphaCustomDimensionsGet', 'adminv1alphaCustomDimensionsPatch', 'adminv1betaCustomDimensionsArchive', 'adminv1betaCustomDimensionsGet', 'adminv1betaCustomDimensionsPatch'] } }
                },
                {
                    displayName: 'Custom Metric ID',
                    name: 'customMetricId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaCustomMetricsArchive', 'adminv1alphaCustomMetricsGet', 'adminv1alphaCustomMetricsPatch', 'adminv1betaCustomMetricsArchive', 'adminv1betaCustomMetricsGet', 'adminv1betaCustomMetricsPatch'] } }
                },
                {
                    displayName: 'Display & Video 360 Advertiser Link Proposal ID',
                    name: 'displayVideo360AdvertiserLinkProposalId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphasDisplayVideo360AdvertiserLinkProposalsApprove', 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsCancel', 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsDelete', 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsGet'] } }
                },
                {
                    displayName: 'Display & Video 360 Advertiser Link ID',
                    name: 'displayVideo360AdvertiserLinkId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaDisplayVideo360AdvertiserLinksDelete', 'adminv1alphaDisplayVideo360AdvertiserLinksGet', 'adminv1alphaDisplayVideo360AdvertiserLinksPatch'] } }
                },
                {
                    displayName: 'Event Create Rule ID',
                    name: 'eventCreateRuleId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaEventCreateRulesDelete', 'adminv1alphaEventCreateRulesGet', 'adminv1alphaEventCreateRulesPatch'] } }
                },
                {
                    displayName: 'Event Edit Rule ID',
                    name: 'eventEditRuleId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaEventEditRulesDelete', 'adminv1alphaEventEditRulesGet', 'adminv1alphaEventEditRulesPatch'] } }
                },
                {
                    displayName: 'Expanded Data Set ID',
                    name: 'expandedDataSetId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaExpandedDataSetsDelete', 'adminv1alphaExpandedDataSetsGet', 'adminv1alphaExpandedDataSetsPatch'] } }
                },
                {
                    displayName: 'Firebase Link ID',
                    name: 'firebaseLinkId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaFirebaseLinksDelete', 'adminv1betaFirebaseLinksDelete'] } }
                },
                {
                    displayName: 'Google Ads Link ID',
                    name: 'googleAdsLinkId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaGoogleAdsLinksDelete', 'adminv1alphaGoogleAdsLinksPatch', 'adminv1betaGoogleAdsLinksDelete', 'adminv1betaGoogleAdsLinksPatch'] } }
                },
                {
                    displayName: 'Key Event ID',
                    name: 'keyEventId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaKeyEventsDelete', 'adminv1alphaKeyEventsGet', 'adminv1alphaKeyEventsPatch', 'adminv1betaKeyEventsDelete', 'adminv1betaKeyEventsGet', 'adminv1betaKeyEventsPatch'] } }
                },
                {
                    displayName: 'Measurement Protocol Secret ID',
                    name: 'measurementProtocolSecretId',
                    type: 'string',
                    default: '',
                    typeOptions: {
                        password: true
                    },
                    displayOptions: { show: { operation: ['adminv1alphaMeasurementProtocolSecretsDelete', 'adminv1alphaMeasurementProtocolSecretsGet', 'adminv1alphaMeasurementProtocolSecretsPatch', 'adminv1betaMeasurementProtocolSecretsDelete', 'adminv1betaMeasurementProtocolSecretsGet', 'adminv1betaMeasurementProtocolSecretsPatch'] } }
                },
                {
                    displayName: 'Recurring Audience List ID',
                    name: 'recurringAudienceListId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['datav1alphaRecurringAudienceListsGet'] } }
                },
                {
                    displayName: 'Reporting Data Annotation ID',
                    name: 'reportingDataAnnotationId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaReportingDataAnnotationsDelete', 'adminv1alphaReportingDataAnnotationsGet', 'adminv1alphaReportingDataAnnotationsPatch'] } }
                },
                {
                    displayName: 'Rollup Property Source Link ID',
                    name: 'rollupPropertySourceLinkId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaRollupPropertySourceLinksDelete', 'adminv1alphaRollupPropertySourceLinksGet'] } }
                },
                {
                    displayName: 'Report Task ID',
                    name: 'reportTaskId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['datav1alphaReportTasksGet', 'datav1alphaReportTasksQuery'] } }
                },
                {
                    displayName: 'Search Ads 360 Link ID',
                    name: 'searchAds360LinkId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaSearchAds360LinksDelete', 'adminv1alphaSearchAds360LinksGet', 'adminv1alphaSearchAds360LinksPatch'] } }
                },
                {
                    displayName: 'SKAdNetwork Conversion Value Schema ID',
                    name: 'sKAdNetworkConversionValueSchemaId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaSKAdNetworkConversionValueSchemasDelete', 'adminv1alphaSKAdNetworkConversionValueSchemasGet', 'adminv1alphaSKAdNetworkConversionValueSchemasPatch'] } }
                },
                {
                    displayName: 'Subproperty Event Filter ID',
                    name: 'subpropertyEventFilterId',
                    type: 'string',
                    default: '',
                    displayOptions: { show: { operation: ['adminv1alphaPropertiesSubpropertyEventFiltersDelete', 'adminv1alphaPropertiesSubpropertyEventFiltersGet', 'adminv1alphaPropertiesSubpropertyEventFiltersPatch'] } }
                },
                {
                    displayName: 'Query Parameters',
                    name: 'queryParameters',
                    type: 'collection',
                    placeholder: 'Add Parameter',
                    default: {},
                    options: [
                        {
                            displayName: 'Calculated Metric ID',
                            name: 'calculatedMetricId',
                            description: 'The ID to use for the calculated metric',
                            type: 'string',
                            default: '',
                        },
                        {
                            displayName: 'Entity',
                            name: 'entity',
                            description: 'The data access report supports requesting at the property level or account level',
                            type: 'string',
                            default: '',
                        },
                        {
                            displayName: 'Filter',
                            name: 'filter',
                            description: 'An expression for filtering the results of the request',
                            type: 'string',
                            default: '',
                        },
                        {
                            displayName: 'Names',
                            name: 'names',
                            description: 'The names of the access bindings to retrieve',
                            type: 'string',
                            default: '',
                        },
                        {
                            displayName: 'Page Size',
                            name: 'pageSize',
                            description: 'The maximum number of report tasks to return',
                            type: 'number',
                            default: 10,
                        },
                        {
                            displayName: 'Page Token',
                            name: 'pageToken',
                            description: 'Continuation token for fetching the next page of results',
                            type: 'string',
                            default: '',
                            typeOptions: {
                                password: true
                            }
                        },
                        {
                            displayName: 'Show Deleted',
                            name: 'showDeleted',
                            description: 'Whether to include soft-deleted (ie: "trashed") properties in the results',
                            type: 'boolean',
                            default: true,
                        },
                        {
                            displayName: 'Universal Analytics Property ID',
                            name: 'universalAnalyticsPropertyId',
                            description: 'The UA property for which to look up the connected GA4 property',
                            type: 'string',
                            default: '',
                        },
                        {
                            displayName: 'Update Mask',
                            name: 'updateMask',
                            description: 'The list of fields to be updated (field names must be in snake case)',
                            type: 'string',
                            default: '',
                        }
                    ],
                },
                {
                    displayName: 'Request Body',
                    name: 'requestBody',
                    type: 'json',
                    default: '{}',
                    displayOptions: { show: { operation: ["adminv1alphaAccountsAccessBindingsBatchesCreate", "adminv1alphaAccountsAccessBindingsBatchesCreate", "adminv1alphaAccountsAccessBindingsBatchesRemove", "adminv1alphaAccountsAccessBindingsBatchesRemove", "adminv1alphaAccountsAccessBindingsBatchesUpdate", "adminv1alphaAccountsAccessBindingsBatchesUpdate", "adminv1alphaAccountsAccessBindingsCreate", "adminv1alphaAccountsAccessBindingsPatch", "adminv1alphaAccountsAccessReportRun", "adminv1alphaAccountsAccountTicketProvision", "adminv1alphaAccountsChangeHistoryEventsSearch", "adminv1alphaAccountsPatch", "adminv1alphaAdSenseLinksCreate", "adminv1alphaAudiencesCreate", "adminv1alphaAudiencesPatch", "adminv1alphaBigQueryLinksCreate", "adminv1alphaBigQueryLinksPatch", "adminv1alphaCalculatedMetricsCreate", "adminv1alphaCalculatedMetricsPatch", "adminv1alphaChannelGroupsCreate", "adminv1alphaChannelGroupsPatch", "adminv1alphaCustomDimensionsCreate", "adminv1alphaCustomDimensionsPatch", "adminv1alphaCustomMetricsCreate", "adminv1alphaCustomMetricsPatch", "adminv1alphaDataStreamsCreate", "adminv1alphaDataStreamsDataRedactionSettingsPatch", "adminv1alphaDataStreamsEnhancedMeasurementSettingsPatch", "adminv1alphaDataStreamsPatch", "adminv1alphaDisplayVideo360AdvertiserLinksCreate", "adminv1alphaDisplayVideo360AdvertiserLinksPatch", "adminv1alphaEventCreateRulesCreate", "adminv1alphaEventCreateRulesPatch", "adminv1alphaEventEditRulesCreate", "adminv1alphaEventEditRulesPatch", "adminv1alphaEventEditRulesReorder", "adminv1alphaExpandedDataSetsCreate", "adminv1alphaExpandedDataSetsPatch", "adminv1alphaFirebaseLinksCreate", "adminv1alphaGoogleAdsLinksCreate", "adminv1alphaGoogleAdsLinksPatch", "adminv1alphaKeyEventsCreate", "adminv1alphaKeyEventsPatch", "adminv1alphaMeasurementProtocolSecretsCreate", "adminv1alphaMeasurementProtocolSecretsPatch", "adminv1alphaPropertiesAccessBindingsBatchesCreate", "adminv1alphaPropertiesAccessBindingsBatchesRemove", "adminv1alphaPropertiesAccessBindingsBatchesUpdate", "adminv1alphaPropertiesAccessBindingsCreate", "adminv1alphaPropertiesAccessBindingsCreate", "adminv1alphaPropertiesAccessBindingsPatch", "adminv1alphaPropertiesAccessBindingsPatch", "adminv1alphaPropertiesAccessReportRun", "adminv1alphaPropertiesAccessReportRun", "adminv1alphaPropertiesAutomatedGa4ConfigurationOptOutFetch", "adminv1alphaPropertiesConnectedSiteTagsCreate", "adminv1alphaPropertiesConnectedSiteTagsDelete", "adminv1alphaPropertiesConnetedSiteTagsList", "adminv1alphaPropertiesPatch", "adminv1alphaPropertiesPropertyAttributionSettingsPatch", "adminv1alphaPropertiesPropertyCreate", "adminv1alphaPropertiesPropertyDataRetentionSettingsPatch", "adminv1alphaPropertiesPropertyGoogleSignalsSettingsPatch", "adminv1alphaPropertiesPropertyPatch", "adminv1alphaPropertiesProvisionAccountTicket", "adminv1alphaPropertiesRollupPropertyCreate", "adminv1alphaPropertiesSearchChangeHistoryEvents", "adminv1alphaPropertiesSetAutomatedGa4ConfigurationOptOut", "adminv1alphaPropertiesSubpropertyEventFiltersCreate", "adminv1alphaPropertiesSubpropertyEventFiltersPatch", "adminv1alphaPropertiesSubpropertyProvision", "adminv1alphaPropertiesUserDataCollectionAcknowledge", "adminv1alphaReportingDataAnnotationsCreate", "adminv1alphaReportingDataAnnotationsPatch", "adminv1alphaRollupPropertySourceLinksCreate", "adminv1alphaSKAdNetworkConversionValueSchemasCreate", "adminv1alphaSKAdNetworkConversionValueSchemasPatch", "adminv1alphaSearchAds360LinksCreate", "adminv1alphaSearchAds360LinksPatch", "adminv1alphasDisplayVideo360AdvertiserLinkProposalsCreate", "adminv1betaAccountsAccessReportRun", "adminv1betaAccountsAccountTicketProvision", "adminv1betaAccountsChangeHistoryEventsSearch", "adminv1betaAccountsPatch", "adminv1betaCustomDimensionsCreate", "adminv1betaCustomDimensionsPatch", "adminv1betaCustomMetricsCreate", "adminv1betaCustomMetricsPatch", "adminv1betaDataStreamsCreate", "adminv1betaDataStreamsPatch", "adminv1betaFirebaseLinksCreate", "adminv1betaGoogleAdsLinksCreate", "adminv1betaGoogleAdsLinksPatch", "adminv1betaKeyEventsCreate", "adminv1betaKeyEventsPatch", "adminv1betaMeasurementProtocolSecretsCreate", "adminv1betaMeasurementProtocolSecretsPatch", "adminv1betaPropertiesAccessReportRun", "adminv1betaPropertiesPropertyCreate", "adminv1betaPropertiesPropertyDataRetentionSettingsPatch", "adminv1betaPropertiesPropertyPatch", "adminv1betaPropertiesUserDataCollectionAcknowledge", "datav1alphaAudienceListsCreate", "datav1alphaAudienceListsExportSheet", "datav1alphaAudienceListsQuery", "datav1alphaPropertiesFunnelReportRun", "datav1alphaRecurringAudienceListsCreate", "datav1alphaReportTasksCreate", "datav1alphaReportTasksQuery", "datav1betaAudienceExportsCreate", "datav1betaAudienceExportsQuery", "datav1betaPropertiesBatchPivotReportsRun", "datav1betaPropertiesBatchReportsRun", "datav1betaPropertiesCompatibilityCheck", "datav1betaPropertiesPivotReportRun", "datav1betaPropertiesRealtimeReportRun", "datav1betaPropertiesReportRun", "userDeletionUpsert"] } }
                }
            ]
        };
    }
    async execute() {
        const items = this.getInputData();
        const returnData = [];
        const credentials = await this.getCredentials('googleAnalyticsOAuth2Api');
        if (!credentials) {
            throw new n8n_workflow_1.ApplicationError('Missing Google Analytics API Credentials');
        }
        for (let i = 0; i < items.length; i++) {
            try {
                const operation = this.getNodeParameter('operation', i, '');
                const resource = this.getNodeParameter('resource', i, '');
                const accountId = this.getNodeParameter('accountId', i, '');
                const propertyId = this.getNodeParameter('propertyId', i, '');
                const accessBindingId = this.getNodeParameter('accessBindingId', i, '');
                const adSenseLinkId = this.getNodeParameter('adSenseLinkId', i, '');
                const audienceExportId = this.getNodeParameter('audienceExportId', i, '');
                const audienceId = this.getNodeParameter('audienceId', i, '');
                const audienceListId = this.getNodeParameter('audienceListId', i, '');
                const bigQueryLinkId = this.getNodeParameter('bigQueryLinkId', i, '');
                const calculatedMetricId = this.getNodeParameter('calculatedMetricId', i, '');
                const channelGroupId = this.getNodeParameter('channelGroupId', i, '');
                const customDimensionId = this.getNodeParameter('customDimensionId', i, '');
                const customMetricId = this.getNodeParameter('customMetricId', i, '');
                const dataStreamId = this.getNodeParameter('dataStreamId', i, '');
                const displayVideo360AdvertiserLinkProposalId = this.getNodeParameter('displayVideo360AdvertiserLinkProposalId', i, '');
                const displayVideo360AdvertiserLinkId = this.getNodeParameter('displayVideo360AdvertiserLinkId', i, '');
                const eventCreateRuleId = this.getNodeParameter('eventCreateRuleId', i, '');
                const eventEditRuleId = this.getNodeParameter('eventEditRuleId', i, '');
                const expandedDataSetId = this.getNodeParameter('expandedDataSetId', i, '');
                const firebaseLinkId = this.getNodeParameter('firebaseLinkId', i, '');
                const googleAdsLinkId = this.getNodeParameter('googleAdsLinkId', i, '');
                const keyEventId = this.getNodeParameter('keyEventId', i, '');
                const measurementProtocolSecretId = this.getNodeParameter('measurementProtocolSecretId', i, '');
                const recurringAudienceListId = this.getNodeParameter('recurringAudienceListId', i, '');
                const reportingDataAnnotationId = this.getNodeParameter('reportingDataAnnotationId', i, '');
                const reportTaskId = this.getNodeParameter('reportTaskId', i, '');
                const rollupPropertySourceLinkId = this.getNodeParameter('rollupPropertySourceLinkId', i, '');
                const searchAds360LinkId = this.getNodeParameter('searchAds360LinkId', i, '');
                const sKAdNetworkConversionValueSchemaId = this.getNodeParameter('sKAdNetworkConversionValueSchemaId', i, '');
                const subpropertyEventFilterId = this.getNodeParameter('subpropertyEventFilterId', i, '');
                const queryParameters = this.getNodeParameter('queryParameters', i, {});
                const requestBody = this.getNodeParameter('requestBody', i, '');
                let url = '';
                if (resource.includes('adminv1alpha')) {
                    url = 'https://analyticsadmin.googleapis.com/v1alpha';
                }
                else if (resource.includes('adminv1beta')) {
                    url = 'https://analyticsadmin.googleapis.com/v1beta';
                }
                else if (resource.includes('datav1alpha')) {
                    url = 'https://analyticsdata.googleapis.com/v1alpha';
                }
                else if (resource.includes('datav1beta')) {
                    url = 'https://analyticsdata.googleapis.com/v1beta';
                }
                else if (resource.includes('userDeletion')) {
                    url = 'https://www.googleapis.com/analytics/v3/userDeletion';
                }
                const queryParams = new URLSearchParams();
                Object.entries(queryParameters).forEach(([key, value]) => {
                    if (value)
                        queryParams.append(key, String(value));
                });
                const queryString = queryParams.toString() ? `?${queryParams.toString()}` : '';
                switch (resource) {
                    case 'adminv1alphaAccountSummaries':
                        switch (operation) {
                            case 'adminv1alphaAccountSummariesList':
                                url += `/accountSummaries${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaAccounts':
                        switch (operation) {
                            case 'adminv1alphaAccountsDelete':
                            case 'adminv1alphaAccountsGet':
                            case 'adminv1alphaAccountsPatch':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}${queryString}`;
                                break;
                            case 'adminv1alphaAccountsGetDataSharingSettings':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}/dataSharingSettings${queryString}`;
                                break;
                            case 'adminv1alphaAccountsList':
                                url += `/accounts${queryString}`;
                                break;
                            case 'adminv1alphaAccountsAccountTicketProvision':
                                url += `/accounts:provisionAccountTicket${queryString}`;
                                break;
                            case 'adminv1alphaAccountsAccessReportRun':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}:runAccessReport${queryString}`;
                                break;
                            case 'adminv1alphaAccountsChangeHistoryEventsSearch':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}:searchChangeHistoryEvents${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaAccountsAccessBindings':
                        switch (operation) {
                            case 'adminv1alphaAccountsAccessBindingsBatchesCreate':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}/accessBindings:batchCreate${queryString}`;
                                break;
                            case 'adminv1alphaAccountsAccessBindingsBatchesRemove':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}/accessBindings:batchDelete${queryString}`;
                                break;
                            case 'adminv1alphaAccountsAccessBindingsBatchesGet':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}/accessBindings:batchGet${queryString}`;
                                break;
                            case 'adminv1alphaAccountsAccessBindingsBatchesUpdate':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}/accessBindings:batchUpdate${queryString}`;
                                break;
                            case 'adminv1alphaAccountsAccessBindingsCreate':
                            case 'adminv1alphaAccountsAccessBindingsList':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}/accessBindings${queryString}`;
                                break;
                            case 'adminv1alphaAccountsAccessBindingsDelete':
                            case 'adminv1alphaAccountsAccessBindingsGet':
                            case 'adminv1alphaAccountsAccessBindingsPatch':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                if (!accessBindingId) {
                                    throw new n8n_workflow_1.ApplicationError('Access Binding ID is required');
                                }
                                url += `/accounts/${accountId}/accessBindings/${accessBindingId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaAdSenseLinks':
                        switch (operation) {
                            case 'adminv1alphaAdSenseLinksCreate':
                            case 'adminv1alphaAdSenseLinksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/adSenseLinks${queryString}`;
                                break;
                            case 'adminv1alphaAdSenseLinksDelete':
                            case 'adminv1alphaAdSenseLinksGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!adSenseLinkId) {
                                    throw new n8n_workflow_1.ApplicationError('AdSense Link ID is required');
                                }
                                url += `/properties/${propertyId}/adSenseLinks/${adSenseLinkId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaAudiences':
                        switch (operation) {
                            case 'adminv1alphaAudiencesGet':
                            case 'adminv1alphaAudiencesPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!audienceId) {
                                    throw new n8n_workflow_1.ApplicationError('Audience ID is required');
                                }
                                url += `/properties/${propertyId}/audiences/${audienceId}${queryString}`;
                                break;
                            case 'adminv1alphaAudiencesArchive':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!audienceId) {
                                    throw new n8n_workflow_1.ApplicationError('Audience ID is required');
                                }
                                url += `/properties/${propertyId}/audiences/${audienceId}:archive${queryString}`;
                                break;
                            case 'adminv1alphaAudiencesCreate':
                            case 'adminv1alphaAudiencesList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/audiences${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaBigQueryLinks':
                        switch (operation) {
                            case 'adminv1alphaBigQueryLinksCreate':
                            case 'adminv1alphaBigQueryLinksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/bigQueryLinks${queryString}`;
                                break;
                            case 'adminv1alphaBigQueryLinksDelete':
                            case 'adminv1alphaBigQueryLinksGet':
                            case 'adminv1alphaBigQueryLinksPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!bigQueryLinkId) {
                                    throw new n8n_workflow_1.ApplicationError('BigQuery Link ID is required');
                                }
                                url += `/properties/${propertyId}/bigQueryLinks/${bigQueryLinkId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaCalculatedMetrics':
                        switch (operation) {
                            case 'adminv1alphaCalculatedMetricsCreate':
                            case 'adminv1alphaCalculatedMetricsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/calculatedMetrics${queryString}`;
                                break;
                            case 'adminv1alphaCalculatedMetricsDelete':
                            case 'adminv1alphaCalculatedMetricsGet':
                            case 'adminv1alphaCalculatedMetricsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!calculatedMetricId) {
                                    throw new n8n_workflow_1.ApplicationError('Calculated Metric ID is required');
                                }
                                url += `/properties/${propertyId}/calculatedMetrics/${calculatedMetricId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaChannelGroups':
                        switch (operation) {
                            case 'adminv1alphaChannelGroupsCreate':
                            case 'adminv1alphaChannelGroupsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/channelGroups${queryString}`;
                                break;
                            case 'adminv1alphaChannelGroupsDelete':
                            case 'adminv1alphaChannelGroupsGet':
                            case 'adminv1alphaChannelGroupsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!channelGroupId) {
                                    throw new n8n_workflow_1.ApplicationError('Channel Group ID is required');
                                }
                                url += `/properties/${propertyId}/channelGroups/${channelGroupId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaCustomDimensions':
                        switch (operation) {
                            case 'adminv1alphaCustomDimensionsCreate':
                            case 'adminv1alphaCustomDimensionsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/customDimensions${queryString}`;
                                break;
                            case 'adminv1alphaCustomDimensionsGet':
                            case 'adminv1alphaCustomDimensionsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!customDimensionId) {
                                    throw new n8n_workflow_1.ApplicationError('Custom Dimension ID is required');
                                }
                                url += `/properties/${propertyId}/customDimensions/${customDimensionId}${queryString}`;
                                break;
                            case 'adminv1alphaCustomDimensionsArchive':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!customDimensionId) {
                                    throw new n8n_workflow_1.ApplicationError('Custom Dimension ID is required');
                                }
                                url += `/properties/${propertyId}/customDimensions/${customDimensionId}:archive${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaCustomMetrics':
                        switch (operation) {
                            case 'adminv1alphaCustomMetricsCreate':
                            case 'adminv1alphaCustomMetricsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/customMetrics${queryString}`;
                                break;
                            case 'adminv1alphaCustomMetricsGet':
                            case 'adminv1alphaCustomMetricsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!customMetricId) {
                                    throw new n8n_workflow_1.ApplicationError('Custom Metric ID is required');
                                }
                                url += `/properties/${propertyId}/customMetrics/${customMetricId}${queryString}`;
                                break;
                            case 'adminv1alphaCustomMetricsArchive':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!customMetricId) {
                                    throw new n8n_workflow_1.ApplicationError('Custom Metric ID is required');
                                }
                                url += `/properties/${propertyId}/customMetrics/${customMetricId}:archive${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaDataStreams':
                        switch (operation) {
                            case 'adminv1alphaDataStreamsCreate':
                            case 'adminv1alphaDataStreamsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams${queryString}`;
                                break;
                            case 'adminv1alphaDataStreamsDelete':
                            case 'adminv1alphaDataStreamsGet':
                            case 'adminv1alphaDataStreamsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}${queryString}`;
                                break;
                            case 'adminv1alphaDataStreamsDataRedactionSettingsGet':
                            case 'adminv1alphaDataStreamsDataRedactionSettingsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/dataRedactionSettings${queryString}`;
                                break;
                            case 'adminv1alphaDataStreamsEnhancedMeasurementSettingsGet':
                            case 'adminv1alphaDataStreamsEnhancedMeasurementSettingsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/enhancedMeasurementSettings${queryString}`;
                                break;
                            case 'adminv1alphaDataStreamsGlobalSiteTagGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/globalSiteTag${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphasDisplayVideo360AdvertiserLinkProposals':
                        switch (operation) {
                            case 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsApprove':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!displayVideo360AdvertiserLinkProposalId) {
                                    throw new n8n_workflow_1.ApplicationError('Display & Video 360 Advertiser Link Proposal ID is required');
                                }
                                url += `/properties/${propertyId}/displayVideo360AdvertiserLinkProposals/${displayVideo360AdvertiserLinkProposalId}:approve${queryString}`;
                                break;
                            case 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsCancel':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!displayVideo360AdvertiserLinkProposalId) {
                                    throw new n8n_workflow_1.ApplicationError('Display & Video 360 Advertiser Link Proposal ID is required');
                                }
                                url += `/properties/${propertyId}/displayVideo360AdvertiserLinkProposals/${displayVideo360AdvertiserLinkProposalId}:cancel${queryString}`;
                                break;
                            case 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsCreate':
                            case 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/displayVideo360AdvertiserLinkProposals${queryString}`;
                                break;
                            case 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsDelete':
                            case 'adminv1alphasDisplayVideo360AdvertiserLinkProposalsGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!displayVideo360AdvertiserLinkProposalId) {
                                    throw new n8n_workflow_1.ApplicationError('Display & Video 360 Advertiser Link Proposal ID is required');
                                }
                                url += `/properties/${propertyId}/displayVideo360AdvertiserLinkProposals/${displayVideo360AdvertiserLinkProposalId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaDisplayVideo360AdvertiserLinks':
                        switch (operation) {
                            case 'adminv1alphaDisplayVideo360AdvertiserLinksCreate':
                            case 'adminv1alphaDisplayVideo360AdvertiserLinksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/displayVideo360AdvertiserLinks${queryString}`;
                                break;
                            case 'adminv1alphaDisplayVideo360AdvertiserLinksDelete':
                            case 'adminv1alphaDisplayVideo360AdvertiserLinksGet':
                            case 'adminv1alphaDisplayVideo360AdvertiserLinksPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!displayVideo360AdvertiserLinkId) {
                                    throw new n8n_workflow_1.ApplicationError('Display & Video 360 Advertiser Link ID is required');
                                }
                                url += `/properties/${propertyId}/displayVideo360AdvertiserLinks/${displayVideo360AdvertiserLinkId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaEventCreateRules':
                        switch (operation) {
                            case 'adminv1alphaEventCreateRulesCreate':
                            case 'adminv1alphaEventCreateRulesList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/eventCreateRules${queryString}`;
                                break;
                            case 'adminv1alphaEventCreateRulesDelete':
                            case 'adminv1alphaEventCreateRulesGet':
                            case 'adminv1alphaEventCreateRulesPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                if (!eventCreateRuleId) {
                                    throw new n8n_workflow_1.ApplicationError('Event Create Rule ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/eventCreateRules/${eventCreateRuleId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaEventEditRules':
                        switch (operation) {
                            case 'adminv1alphaEventEditRulesCreate':
                            case 'adminv1alphaEventEditRulesList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/eventEditRules${queryString}`;
                                break;
                            case 'adminv1alphaEventEditRulesDelete':
                            case 'adminv1alphaEventEditRulesGet':
                            case 'adminv1alphaEventEditRulesPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                if (!eventEditRuleId) {
                                    throw new n8n_workflow_1.ApplicationError('Event Edit Rule ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/eventEditRules/${eventEditRuleId}${queryString}`;
                                break;
                            case 'adminv1alphaEventEditRulesReorder':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/eventEditRules:reorder${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaExpandedDataSets':
                        switch (operation) {
                            case 'adminv1alphaExpandedDataSetsCreate':
                            case 'adminv1alphaExpandedDataSetsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/expandedDataSets${queryString}`;
                                break;
                            case 'adminv1alphaExpandedDataSetsDelete':
                            case 'adminv1alphaExpandedDataSetsGet':
                            case 'adminv1alphaExpandedDataSetsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!expandedDataSetId) {
                                    throw new n8n_workflow_1.ApplicationError('Expanded Data Set ID is required');
                                }
                                url += `/properties/${propertyId}/expandedDataSets/${expandedDataSetId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaFirebaseLinks':
                        switch (operation) {
                            case 'adminv1alphaFirebaseLinksCreate':
                            case 'adminv1alphaFirebaseLinksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/firebaseLinks${queryString}`;
                                break;
                            case 'adminv1alphaFirebaseLinksDelete':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!firebaseLinkId) {
                                    throw new n8n_workflow_1.ApplicationError('Firebase Link ID is required');
                                }
                                url += `/properties/${propertyId}/firebaseLinks/${firebaseLinkId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaGoogleAdsLinks':
                        switch (operation) {
                            case 'adminv1alphaGoogleAdsLinksCreate':
                            case 'adminv1alphaGoogleAdsLinksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/googleAdsLinks${queryString}`;
                                break;
                            case 'adminv1alphaGoogleAdsLinksDelete':
                            case 'adminv1alphaGoogleAdsLinksPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!googleAdsLinkId) {
                                    throw new n8n_workflow_1.ApplicationError('Google Ads Link ID is required');
                                }
                                url += `/properties/${propertyId}/googleAdsLinks/${googleAdsLinkId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaKeyEvents':
                        switch (operation) {
                            case 'adminv1alphaKeyEventsCreate':
                            case 'adminv1alphaKeyEventsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/keyEvents${queryString}`;
                                break;
                            case 'adminv1alphaKeyEventsDelete':
                            case 'adminv1alphaKeyEventsGet':
                            case 'adminv1alphaKeyEventsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!keyEventId) {
                                    throw new n8n_workflow_1.ApplicationError('Key Event ID is required');
                                }
                                url += `/properties/${propertyId}/keyEvents/${keyEventId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaMeasurementProtocolSecrets':
                        switch (operation) {
                            case 'adminv1alphaMeasurementProtocolSecretsCreate':
                            case 'adminv1alphaMeasurementProtocolSecretsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/measurementProtocolSecrets${queryString}`;
                                break;
                            case 'adminv1alphaMeasurementProtocolSecretsDelete':
                            case 'adminv1alphaMeasurementProtocolSecretsGet':
                            case 'adminv1alphaMeasurementProtocolSecretsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                if (!measurementProtocolSecretId) {
                                    throw new n8n_workflow_1.ApplicationError('Measurement Protocol Secret ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/measurementProtocolSecrets/${measurementProtocolSecretId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaProperties':
                        switch (operation) {
                            case 'adminv1alphaPropertiesUserDataCollectionAcknowledge':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:acknowledgeUserDataCollection${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesPropertyCreate':
                            case 'adminv1alphaPropertiesList':
                                url += `/properties${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesConnectedSiteTagsCreate':
                                url += `/properties:createConnectedSiteTag${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesRollupPropertyCreate':
                                url += `/properties:createRollupProperty${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesConnectedSiteTagsDelete':
                                url += `/properties:deleteConnectedSiteTag${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesPropertyDelete':
                            case 'adminv1alphaPropertiesPropertyGet':
                            case 'adminv1alphaPropertiesPropertyPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesAutomatedGa4ConfigurationOptOutFetch':
                                url += `/properties:fetchAutomatedGa4ConfigurationOptOut${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesConnectedGA4Fetch':
                                url += `/properties:fetchConnectedGa4Property${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesPropertyAttributionSettingsGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/attributionSettings${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesPropertyDataRetentionSettingsGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/dataRetentionSettings${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesPropertyGoogleSignalsSettingsGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/googleSignalsSettings${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesConnetedSiteTagsList':
                                url += `/properties:listConnectedSiteTags${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesSubpropertyProvision':
                                url += `/properties:provisionSubproperty${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesAccessReportRun':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:runAccessReport${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesSetAutomatedGa4ConfigurationOptOut':
                                url += `/properties:setAutomatedGa4ConfigurationOptOut${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesPropertyAttributionSettingsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/attributionSettings${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesPropertyDataRetentionSettingsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/dataRetentionSettings${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesPropertyGoogleSignalsSettingsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/googleSignalsSettings${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaPropertiesAccessBindings':
                        switch (operation) {
                            case 'adminv1alphaPropertiesAccessBindingsBatchesCreate':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/accessBindings:batchCreate${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesAccessBindingsBatchesRemove':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/accessBindings:batchDelete${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesAccessBindingsBatchesGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/accessBindings:batchGet${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesAccessBindingsBatchesUpdate':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/accessBindings:batchUpdate${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesAccessBindingsCreate':
                            case 'adminv1alphaPropertiesAccessBindingsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/accessBindings${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesAccessBindingsDelete':
                            case 'adminv1alphaPropertiesAccessBindingsGet':
                            case 'adminv1alphaPropertiesAccessBindingsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!accessBindingId) {
                                    throw new n8n_workflow_1.ApplicationError('Access Binding ID is required');
                                }
                                url += `/properties/${propertyId}/accessBindings/${accessBindingId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaReportingDataAnnotations':
                        switch (operation) {
                            case 'adminv1alphaReportingDataAnnotationsCreate':
                            case 'adminv1alphaReportingDataAnnotationsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/reportingDataAnnotations${queryString}`;
                                break;
                            case 'adminv1alphaReportingDataAnnotationsDelete':
                            case 'adminv1alphaReportingDataAnnotationsGet':
                            case 'adminv1alphaReportingDataAnnotationsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!reportingDataAnnotationId) {
                                    throw new n8n_workflow_1.ApplicationError('Reporting Data Annotation ID is required');
                                }
                                url += `/properties/${propertyId}/reportingDataAnnotations/${reportingDataAnnotationId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaRollupPropertySourceLinks':
                        switch (operation) {
                            case 'adminv1alphaRollupPropertySourceLinksCreate':
                            case 'adminv1alphaRollupPropertySourceLinksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/rollupPropertySourceLinks${queryString}`;
                                break;
                            case 'adminv1alphaRollupPropertySourceLinksDelete':
                            case 'adminv1alphaRollupPropertySourceLinksGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!rollupPropertySourceLinkId) {
                                    throw new n8n_workflow_1.ApplicationError('Rollup Property Source Link ID is required');
                                }
                                url += `/properties/${propertyId}/rollupPropertySourceLinks/${rollupPropertySourceLinkId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaSearchAds360Links':
                        switch (operation) {
                            case 'adminv1alphaSearchAds360LinksCreate':
                            case 'adminv1alphaSearchAds360LinksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/searchAds360Links${queryString}`;
                                break;
                            case 'adminv1alphaSearchAds360LinksDelete':
                            case 'adminv1alphaSearchAds360LinksGet':
                            case 'adminv1alphaSearchAds360LinksPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!searchAds360LinkId) {
                                    throw new n8n_workflow_1.ApplicationError('Search Ads 360 Link ID is required');
                                }
                                url += `/properties/${propertyId}/searchAds360Links/${searchAds360LinkId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaSKAdNetworkConversionValueSchemas':
                        switch (operation) {
                            case 'adminv1alphaSKAdNetworkConversionValueSchemasCreate':
                            case 'adminv1alphaSKAdNetworkConversionValueSchemasList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/sKAdNetworkConversionValueSchema${queryString}`;
                                break;
                            case 'adminv1alphaSKAdNetworkConversionValueSchemasDelete':
                            case 'adminv1alphaSKAdNetworkConversionValueSchemasGet':
                            case 'adminv1alphaSKAdNetworkConversionValueSchemasPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                if (!sKAdNetworkConversionValueSchemaId) {
                                    throw new n8n_workflow_1.ApplicationError('SKAdNetwork Conversion Value Schema ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/sKAdNetworkConversionValueSchema/${sKAdNetworkConversionValueSchemaId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1alphaPropertiesSubpropertyEventFilters':
                        switch (operation) {
                            case 'adminv1alphaPropertiesSubpropertyEventFiltersCreate':
                            case 'adminv1alphaPropertiesSubpropertyEventFiltersList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/subpropertyEventFilters${queryString}`;
                                break;
                            case 'adminv1alphaPropertiesSubpropertyEventFiltersDelete':
                            case 'adminv1alphaPropertiesSubpropertyEventFiltersGet':
                            case 'adminv1alphaPropertiesSubpropertyEventFiltersPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!subpropertyEventFilterId) {
                                    throw new n8n_workflow_1.ApplicationError('Subproperty Event Filter ID is required');
                                }
                                url += `/properties/${propertyId}/subpropertyEventFilters/${subpropertyEventFilterId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaAccountSummaries':
                        switch (operation) {
                            case 'adminv1betaAccountSummariesList':
                                url += `/accountSummaries${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaAccounts':
                        switch (operation) {
                            case 'adminv1betaAccountsDelete':
                            case 'adminv1betaAccountsGet':
                            case 'adminv1betaAccountsPatch':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}${queryString}`;
                                break;
                            case 'adminv1betaAccountsGetDataSharingSettings':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}/dataSharingSettings${queryString}`;
                                break;
                            case 'adminv1betaAccountsList':
                                url += `/accounts${queryString}`;
                                break;
                            case 'adminv1betaAccountsAccountTicketProvision':
                                url += `/accounts:provisionAccountTicket${queryString}`;
                                break;
                            case 'adminv1betaAccountsAccessReportRun':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}:runAccessReport${queryString}`;
                                break;
                            case 'adminv1betaAccountsChangeHistoryEventsSearch':
                                if (!accountId) {
                                    throw new n8n_workflow_1.ApplicationError('Account ID is required');
                                }
                                url += `/accounts/${accountId}:searchChangeHistoryEvents${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaProperties':
                        switch (operation) {
                            case 'adminv1betaPropertiesUserDataCollectionAcknowledge':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:acknowledgeUserDataCollection${queryString}`;
                                break;
                            case 'adminv1betaPropertiesPropertyCreate':
                            case 'adminv1betaPropertiesList':
                                url += `/properties${queryString}`;
                                break;
                            case 'adminv1betaPropertiesPropertyDelete':
                            case 'adminv1betaPropertiesPropertyGet':
                            case 'adminv1betaPropertiesPropertyPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}${queryString}`;
                                break;
                            case 'adminv1betaPropertiesPropertyDataRetentionSettingsGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/dataRetentionSettings${queryString}`;
                                break;
                            case 'adminv1betaPropertiesAccessReportRun':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:runAccessReport${queryString}`;
                                break;
                            case 'adminv1betaPropertiesPropertyDataRetentionSettingsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/dataRetentionSettings${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaCustomDimensions':
                        switch (operation) {
                            case 'adminv1betaCustomDimensionsCreate':
                            case 'adminv1betaCustomDimensionsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/customDimensions${queryString}`;
                                break;
                            case 'adminv1betaCustomDimensionsGet':
                            case 'adminv1betaCustomDimensionsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!customDimensionId) {
                                    throw new n8n_workflow_1.ApplicationError('Custom Dimension ID is required');
                                }
                                url += `/properties/${propertyId}/customDimensions/${customDimensionId}${queryString}`;
                                break;
                            case 'adminv1betaCustomDimensionsArchive':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!customDimensionId) {
                                    throw new n8n_workflow_1.ApplicationError('Custom Dimension ID is required');
                                }
                                url += `/properties/${propertyId}/customDimensions/${customDimensionId}:archive${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaCustomMetrics':
                        switch (operation) {
                            case 'adminv1betaCustomMetricsCreate':
                            case 'adminv1betaCustomMetricsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/customMetrics${queryString}`;
                                break;
                            case 'adminv1betaCustomMetricsGet':
                            case 'adminv1betaCustomMetricsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!customMetricId) {
                                    throw new n8n_workflow_1.ApplicationError('Custom Metric ID is required');
                                }
                                url += `/properties/${propertyId}/customMetrics/${customMetricId}${queryString}`;
                                break;
                            case 'adminv1betaCustomMetricsArchive':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!customMetricId) {
                                    throw new n8n_workflow_1.ApplicationError('Custom Metric ID is required');
                                }
                                url += `/properties/${propertyId}/customMetrics/${customMetricId}:archive${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaDataStreams':
                        switch (operation) {
                            case 'adminv1betaDataStreamsCreate':
                            case 'adminv1betaDataStreamsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams${queryString}`;
                                break;
                            case 'adminv1betaDataStreamsDelete':
                            case 'adminv1betaDataStreamsGet':
                            case 'adminv1betaDataStreamsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaFirebaseLinks':
                        switch (operation) {
                            case 'adminv1betaFirebaseLinksCreate':
                            case 'adminv1betaFirebaseLinksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/firebaseLinks${queryString}`;
                                break;
                            case 'adminv1betaFirebaseLinksDelete':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!firebaseLinkId) {
                                    throw new n8n_workflow_1.ApplicationError('Firebase Link ID is required');
                                }
                                url += `/properties/${propertyId}/firebaseLinks/${firebaseLinkId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaGoogleAdsLinks':
                        switch (operation) {
                            case 'adminv1betaGoogleAdsLinksCreate':
                            case 'adminv1betaGoogleAdsLinksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/googleAdsLinks${queryString}`;
                                break;
                            case 'adminv1betaGoogleAdsLinksDelete':
                            case 'adminv1betaGoogleAdsLinksPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!googleAdsLinkId) {
                                    throw new n8n_workflow_1.ApplicationError('Google Ads Link ID is required');
                                }
                                url += `/properties/${propertyId}/googleAdsLinks/${googleAdsLinkId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaKeyEvents':
                        switch (operation) {
                            case 'adminv1betaKeyEventsCreate':
                            case 'adminv1betaKeyEventsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/keyEvents${queryString}`;
                                break;
                            case 'adminv1betaKeyEventsDelete':
                            case 'adminv1betaKeyEventsGet':
                            case 'adminv1betaKeyEventsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!keyEventId) {
                                    throw new n8n_workflow_1.ApplicationError('Key Event ID is required');
                                }
                                url += `/properties/${propertyId}/keyEvents/${keyEventId}${queryString}`;
                                break;
                        }
                        break;
                    case 'adminv1betaMeasurementProtocolSecrets':
                        switch (operation) {
                            case 'adminv1betaMeasurementProtocolSecretsCreate':
                            case 'adminv1betaMeasurementProtocolSecretsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/measurementProtocolSecrets${queryString}`;
                                break;
                            case 'adminv1betaMeasurementProtocolSecretsDelete':
                            case 'adminv1betaMeasurementProtocolSecretsGet':
                            case 'adminv1betaMeasurementProtocolSecretsPatch':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!dataStreamId) {
                                    throw new n8n_workflow_1.ApplicationError('Data Stream ID is required');
                                }
                                if (!measurementProtocolSecretId) {
                                    throw new n8n_workflow_1.ApplicationError('Measurement Protocol Secret ID is required');
                                }
                                url += `/properties/${propertyId}/dataStreams/${dataStreamId}/measurementProtocolSecrets/${measurementProtocolSecretId}${queryString}`;
                                break;
                        }
                        break;
                    case 'datav1alphaAudienceLists':
                        switch (operation) {
                            case 'datav1alphaAudienceListsCreate':
                            case 'datav1alphaAudienceListsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/audienceLists${queryString}`;
                                break;
                            case 'datav1alphaAudienceListsGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!audienceListId) {
                                    throw new n8n_workflow_1.ApplicationError('Audience List ID is required');
                                }
                                url += `/properties/${propertyId}/audienceLists/${audienceListId}${queryString}`;
                                break;
                            case 'datav1alphaAudienceListsExportSheet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!audienceListId) {
                                    throw new n8n_workflow_1.ApplicationError('Audience List ID is required');
                                }
                                url += `/properties/${propertyId}/audienceLists/${audienceListId}:exportSheet${queryString}`;
                                break;
                            case 'datav1alphaAudienceListsQuery':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!audienceListId) {
                                    throw new n8n_workflow_1.ApplicationError('Audience List ID is required');
                                }
                                url += `/properties/${propertyId}/audienceLists/${audienceListId}:query${queryString}`;
                                break;
                        }
                        break;
                    case 'datav1alphaProperties':
                        switch (operation) {
                            case 'datav1alphaPropertiesGetPropertyQuotaSnapshot':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/propertyQuotasSnapshot${queryString}`;
                                break;
                            case 'datav1alphaPropertiesFunnelReportRun':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:runFunnelReport${queryString}`;
                                break;
                        }
                        break;
                    case 'datav1alphaRecurringAudienceLists':
                        switch (operation) {
                            case 'datav1alphaRecurringAudienceListsCreate':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/recurringAudienceLists${queryString}`;
                                break;
                            case 'datav1alphaRecurringAudienceListsGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!recurringAudienceListId) {
                                    throw new n8n_workflow_1.ApplicationError('Recurring Audience List ID is required');
                                }
                                url += `/properties/${propertyId}/recurringAudienceLists/${recurringAudienceListId}${queryString}`;
                                break;
                            case 'datav1alphaRecurringAudienceListsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/recurringAudienceLists${queryString}`;
                                break;
                        }
                        break;
                    case 'datav1alphaReportTasks':
                        switch (operation) {
                            case 'datav1alphaReportTasksCreate':
                            case 'datav1alphaReportTasksList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/reportTasks${queryString}`;
                                break;
                            case 'datav1alphaReportTasksGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!reportTaskId) {
                                    throw new n8n_workflow_1.ApplicationError('Report Task ID is required');
                                }
                                url += `/properties/${propertyId}/reportTasks/${reportTaskId}${queryString}`;
                                break;
                            case 'datav1alphaReportTasksQuery':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!reportTaskId) {
                                    throw new n8n_workflow_1.ApplicationError('Report Task ID is required');
                                }
                                url += `/properties/${propertyId}/reportTasks/${reportTaskId}:query${queryString}`;
                                break;
                        }
                        break;
                    case 'datav1betaAudienceExports':
                        switch (operation) {
                            case 'datav1betaAudienceExportsCreate':
                            case 'datav1betaAudienceExportsList':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/audienceExports${queryString}`;
                                break;
                            case 'datav1betaAudienceExportsGet':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!audienceExportId) {
                                    throw new n8n_workflow_1.ApplicationError('Audience Export ID is required');
                                }
                                url += `/properties/${propertyId}/audienceExports/${audienceExportId}${queryString}`;
                                break;
                            case 'datav1betaAudienceExportsQuery':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                if (!audienceExportId) {
                                    throw new n8n_workflow_1.ApplicationError('Audience Export ID is required');
                                }
                                url += `/properties/${propertyId}/audienceExports/${audienceExportId}:query${queryString}`;
                                break;
                        }
                        break;
                    case 'datav1betaProperties':
                        switch (operation) {
                            case 'datav1betaPropertiesBatchPivotReportsRun':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:batchRunPivotReports${queryString}`;
                                break;
                            case 'datav1betaPropertiesBatchReportsRun':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:batchRunReports${queryString}`;
                                break;
                            case 'datav1betaPropertiesCompatibilityCheck':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:checkCompatibility${queryString}`;
                                break;
                            case 'datav1betaPropertiesGetMetadata':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}/metadata${queryString}`;
                                break;
                            case 'datav1betaPropertiesPivotReportRun':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:runPivotReport${queryString}`;
                                break;
                            case 'datav1betaPropertiesRealtimeReportRun':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:runRealtimeReport${queryString}`;
                                break;
                            case 'datav1betaPropertiesReportRun':
                                if (!propertyId) {
                                    throw new n8n_workflow_1.ApplicationError('Property ID is required');
                                }
                                url += `/properties/${propertyId}:runReport${queryString}`;
                                break;
                        }
                        break;
                    case 'userDeletion':
                        switch (operation) {
                            case 'userDeletionUpsert':
                                url += `/userDeletionRequests:upsert${queryString}`;
                                break;
                        }
                        break;
                }
                const postOperations = ['Acknowledge', 'Approve', 'Archive', 'Cancel', 'Check', 'Create', 'ExportSheet', 'Fetch', 'Provision', 'Query', 'Remove', 'Reorder', 'Run', 'Search', 'Update', 'Upsert'];
                const httpMethod = operation.endsWith('Delete') ? 'DELETE' :
                    operation.endsWith('Patch') ? 'PATCH' :
                        postOperations.some(op => operation.endsWith(op)) ? 'POST' : 'GET';
                const deleteOperationsWithoutBody = [
                    'adminv1alphaAccountsAccessBindingsDelete',
                    'adminv1alphaAccountsDelete',
                    'adminv1alphaAdSenseLinksDelete',
                    'adminv1alphaAudiencesArchive',
                    'adminv1alphaBigQueryLinksDelete',
                    'adminv1alphaCalculatedMetricsDelete',
                    'adminv1alphaChannelGroupsDelete',
                    'adminv1alphaCustomDimensionsArchive',
                    'adminv1alphaCustomMetricsArchive',
                    'adminv1alphaDataStreamsDelete',
                    'adminv1alphaDataStreamsDelete',
                    'adminv1alphaDisplayVideo360AdvertiserLinksDelete',
                    'adminv1alphaEventCreateRulesDelete',
                    'adminv1alphaEventEditRulesDelete',
                    'adminv1alphaExpandedDataSetsDelete',
                    'adminv1alphaFirebaseLinksDelete',
                    'adminv1alphaGoogleAdsLinksDelete',
                    'adminv1alphaKeyEventsDelete',
                    'adminv1alphaMeasurementProtocolSecretsDelete',
                    'adminv1alphaPropertiesPropertyDelete',
                    'adminv1alphaPropertiesSubpropertyEventFiltersDelete',
                    'adminv1alphaReportingDataAnnotationsDelete',
                    'adminv1alphaRollupPropertySourceLinksDelete',
                    'adminv1alphaSKAdNetworkConversionValueSchemasDelete',
                    'adminv1alphaSearchAds360LinksDelete',
                    'adminv1alphasDisplayVideo360AdvertiserLinkProposalsApprove',
                    'adminv1alphasDisplayVideo360AdvertiserLinkProposalsCancel',
                    'adminv1alphasDisplayVideo360AdvertiserLinkProposalsDelete',
                    'adminv1betaAccountsDelete',
                    'adminv1betaCustomDimensionsArchive',
                    'adminv1betaCustomMetricsArchive',
                    'adminv1betaDataStreamsDelete',
                    'adminv1betaFirebaseLinksDelete',
                    'adminv1betaGoogleAdsLinksDelete',
                    'adminv1betaKeyEventsDelete',
                    'adminv1betaMeasurementProtocolSecretsDelete',
                    'adminv1betaPropertiesPropertyDelete'
                ];
                const requestConf = {
                    method: httpMethod,
                    url,
                    headers: { 'Content-Type': 'application/json' },
                    ...((!deleteOperationsWithoutBody.includes(operation) && (['DELETE', 'PATCH', 'POST'].includes(httpMethod))) ? { body: JSON.parse(requestBody) } : {})
                };
                const responseData = await this.helpers.requestOAuth2.call(this, 'googleAnalyticsOAuth2Api', requestConf);
                returnData.push(JSON.parse(responseData));
            }
            catch (error) {
                throw new n8n_workflow_1.NodeApiError(this.getNode(), {
                    message: `Error calling Google Analytics API: ${error.message}`,
                    description: error.stack || 'No stack trace available'
                });
            }
        }
        return [this.helpers.returnJsonArray(returnData)];
    }
}
exports.GoogleAnalytics = GoogleAnalytics;
//# sourceMappingURL=GoogleAnalytics.node.js.map