ANALYTICSADMIN

analyticsadmin.accountSummaries.list

valid {
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.accessBindings.batchCreate

valid {
    input.Body.requests[_].accessBinding.roles[_] == STRING
    input.Body.requests[_].accessBinding.user == STRING
    input.Body.requests[_].parent == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.accessBindings.batchDelete

valid {
    input.Body.requests[_].name == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.accessBindings.batchGet

valid {
    input.ReqMap.parent == STRING
    input.Qs.names == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.accessBindings.batchUpdate

valid {
    input.Body.requests[_].accessBinding.roles[_] == STRING
    input.Body.requests[_].accessBinding.user == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.accessBindings.create

valid {
    input.Body.roles[_] == STRING
    input.Body.user == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.accessBindings.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.accessBindings.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.accessBindings.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.accessBindings.patch

valid {
    input.Body.roles[_] == STRING
    input.Body.user == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.getDataSharingSettings

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.list

valid {
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.showDeleted == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.patch

valid {
    input.Body.displayName == STRING
    input.Body.regionCode == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.provisionAccountTicket

valid {
    input.Body.account.displayName == STRING
    input.Body.account.regionCode == STRING
    input.Body.redirectUri == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.runAccessReport

enum_GoogleAnalyticsAdminV1betaAccessNumericFilterOperation := [ "OPERATION_UNSPECIFIED", "EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "GREATER_THAN", "GREATER_THAN_OR_EQUAL" ]
enum_GoogleAnalyticsAdminV1betaAccessOrderByDimensionOrderByOrderType := [ "ORDER_TYPE_UNSPECIFIED", "ALPHANUMERIC", "CASE_INSENSITIVE_ALPHANUMERIC", "NUMERIC" ]
enum_GoogleAnalyticsAdminV1betaAccessStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "BEGINS_WITH", "ENDS_WITH", "CONTAINS", "FULL_REGEXP", "PARTIAL_REGEXP" ]

valid {
    input.Body.dateRanges[_].endDate == STRING
    input.Body.dateRanges[_].startDate == STRING
    input.Body.dimensionFilter.accessFilter.betweenFilter.fromValue.doubleValue == NUMBER
    input.Body.dimensionFilter.accessFilter.betweenFilter.fromValue.int64Value == STRING
    input.Body.dimensionFilter.accessFilter.betweenFilter.toValue.doubleValue == NUMBER
    input.Body.dimensionFilter.accessFilter.betweenFilter.toValue.int64Value == STRING
    input.Body.dimensionFilter.accessFilter.fieldName == STRING
    input.Body.dimensionFilter.accessFilter.inListFilter.caseSensitive == BOOLEAN
    input.Body.dimensionFilter.accessFilter.inListFilter.values[_] == STRING
    input.Body.dimensionFilter.accessFilter.numericFilter.operation == enum_GoogleAnalyticsAdminV1betaAccessNumericFilterOperation[_]
    input.Body.dimensionFilter.accessFilter.numericFilter.value.doubleValue == NUMBER
    input.Body.dimensionFilter.accessFilter.numericFilter.value.int64Value == STRING
    input.Body.dimensionFilter.accessFilter.stringFilter.caseSensitive == BOOLEAN
    input.Body.dimensionFilter.accessFilter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1betaAccessStringFilterMatchType[_]
    input.Body.dimensionFilter.accessFilter.stringFilter.value == STRING
    input.Body.dimensionFilter.andGroup.expressions[_] == NESTED
    input.Body.dimensionFilter.notExpression == NESTED
    input.Body.dimensionFilter.orGroup.expressions[_] == NESTED
    input.Body.dimensions[_].dimensionName == STRING
    input.Body.expandGroups == BOOLEAN
    input.Body.includeAllUsers == BOOLEAN
    input.Body.limit == STRING
    input.Body.metricFilter.accessFilter.betweenFilter.fromValue.doubleValue == NUMBER
    input.Body.metricFilter.accessFilter.betweenFilter.fromValue.int64Value == STRING
    input.Body.metricFilter.accessFilter.betweenFilter.toValue.doubleValue == NUMBER
    input.Body.metricFilter.accessFilter.betweenFilter.toValue.int64Value == STRING
    input.Body.metricFilter.accessFilter.fieldName == STRING
    input.Body.metricFilter.accessFilter.inListFilter.caseSensitive == BOOLEAN
    input.Body.metricFilter.accessFilter.inListFilter.values[_] == STRING
    input.Body.metricFilter.accessFilter.numericFilter.operation == enum_GoogleAnalyticsAdminV1betaAccessNumericFilterOperation[_]
    input.Body.metricFilter.accessFilter.numericFilter.value.doubleValue == NUMBER
    input.Body.metricFilter.accessFilter.numericFilter.value.int64Value == STRING
    input.Body.metricFilter.accessFilter.stringFilter.caseSensitive == BOOLEAN
    input.Body.metricFilter.accessFilter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1betaAccessStringFilterMatchType[_]
    input.Body.metricFilter.accessFilter.stringFilter.value == STRING
    input.Body.metricFilter.andGroup.expressions[_] == NESTED
    input.Body.metricFilter.notExpression == NESTED
    input.Body.metricFilter.orGroup.expressions[_] == NESTED
    input.Body.metrics[_].metricName == STRING
    input.Body.offset == STRING
    input.Body.orderBys[_].desc == BOOLEAN
    input.Body.orderBys[_].dimension.dimensionName == STRING
    input.Body.orderBys[_].dimension.orderType == enum_GoogleAnalyticsAdminV1betaAccessOrderByDimensionOrderByOrderType[_]
    input.Body.orderBys[_].metric.metricName == STRING
    input.Body.returnEntityQuota == BOOLEAN
    input.Body.timeZone == STRING
    input.ReqMap.entity == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.accounts.searchChangeHistoryEvents

enum_GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsRequestAction := [ "ACTION_TYPE_UNSPECIFIED", "CREATED", "UPDATED", "DELETED" ]
enum_GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsRequestResourceType := [ "CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED", "ACCOUNT", "PROPERTY", "FIREBASE_LINK", "GOOGLE_ADS_LINK", "GOOGLE_SIGNALS_SETTINGS", "CONVERSION_EVENT", "MEASUREMENT_PROTOCOL_SECRET", "CUSTOM_DIMENSION", "CUSTOM_METRIC", "DATA_RETENTION_SETTINGS", "DISPLAY_VIDEO_360_ADVERTISER_LINK", "DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL", "DATA_STREAM", "ATTRIBUTION_SETTINGS" ]

valid {
    input.Body.action[_] == enum_GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsRequestAction[_]
    input.Body.actorEmail[_] == STRING
    input.Body.earliestChangeTime == STRING
    input.Body.latestChangeTime == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.property == STRING
    input.Body.resourceType[_] == enum_GoogleAnalyticsAdminV1betaSearchChangeHistoryEventsRequestResourceType[_]
    input.ReqMap.account == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.accessBindings.batchCreate

valid {
    input.Body.requests[_].accessBinding.roles[_] == STRING
    input.Body.requests[_].accessBinding.user == STRING
    input.Body.requests[_].parent == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.accessBindings.batchDelete

valid {
    input.Body.requests[_].name == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.accessBindings.batchGet

valid {
    input.ReqMap.parent == STRING
    input.Qs.names == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.accessBindings.batchUpdate

valid {
    input.Body.requests[_].accessBinding.roles[_] == STRING
    input.Body.requests[_].accessBinding.user == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.accessBindings.create

valid {
    input.Body.roles[_] == STRING
    input.Body.user == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.accessBindings.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.accessBindings.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.accessBindings.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.accessBindings.patch

valid {
    input.Body.roles[_] == STRING
    input.Body.user == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.acknowledgeUserDataCollection

valid {
    input.Body.acknowledgement == STRING
    input.ReqMap.property == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.adSenseLinks.create

valid {
    input.Body.adClientCode == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.adSenseLinks.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.adSenseLinks.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.adSenseLinks.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.audiences.archive

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.audiences.create

enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilterOperation := [ "OPERATION_UNSPECIFIED", "EQUAL", "LESS_THAN", "GREATER_THAN" ]
enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "BEGINS_WITH", "ENDS_WITH", "CONTAINS", "FULL_REGEXP" ]
enum_GoogleAnalyticsAdminV1alphaAudienceEventTriggerLogCondition := [ "LOG_CONDITION_UNSPECIFIED", "AUDIENCE_JOINED", "AUDIENCE_MEMBERSHIP_RENEWED" ]
enum_GoogleAnalyticsAdminV1alphaAudienceExclusionDurationMode := [ "AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED", "EXCLUDE_TEMPORARILY", "EXCLUDE_PERMANENTLY" ]
enum_GoogleAnalyticsAdminV1alphaAudienceFilterClauseClauseType := [ "AUDIENCE_CLAUSE_TYPE_UNSPECIFIED", "INCLUDE", "EXCLUDE" ]
enum_GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStepScope := [ "AUDIENCE_FILTER_SCOPE_UNSPECIFIED", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" ]
enum_GoogleAnalyticsAdminV1alphaAudienceSequenceFilterScope := [ "AUDIENCE_FILTER_SCOPE_UNSPECIFIED", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" ]
enum_GoogleAnalyticsAdminV1alphaAudienceSimpleFilterScope := [ "AUDIENCE_FILTER_SCOPE_UNSPECIFIED", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.eventTrigger.eventName == STRING
    input.Body.eventTrigger.logCondition == enum_GoogleAnalyticsAdminV1alphaAudienceEventTriggerLogCondition[_]
    input.Body.exclusionDurationMode == enum_GoogleAnalyticsAdminV1alphaAudienceExclusionDurationMode[_]
    input.Body.filterClauses[_].clauseType == enum_GoogleAnalyticsAdminV1alphaAudienceFilterClauseClauseType[_]
    input.Body.filterClauses[_].sequenceFilter.scope == enum_GoogleAnalyticsAdminV1alphaAudienceSequenceFilterScope[_]
    input.Body.filterClauses[_].sequenceFilter.sequenceMaximumDuration == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].constraintDuration == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.andGroup.filterExpressions[_] == NESTED
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.atAnyPointInTime == BOOLEAN
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.betweenFilter.fromValue.doubleValue == NUMBER
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.betweenFilter.fromValue.int64Value == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.betweenFilter.toValue.doubleValue == NUMBER
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.betweenFilter.toValue.int64Value == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.fieldName == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.inAnyNDayPeriod == INTEGER
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.inListFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.inListFilter.values[_] == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.numericFilter.operation == enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilterOperation[_]
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.numericFilter.value.doubleValue == NUMBER
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.numericFilter.value.int64Value == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.stringFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilterMatchType[_]
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.stringFilter.value == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.eventFilter.eventName == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.eventFilter.eventParameterFilterExpression == NESTED
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.notExpression == NESTED
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.orGroup.filterExpressions[_] == NESTED
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].immediatelyFollows == BOOLEAN
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].scope == enum_GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStepScope[_]
    input.Body.filterClauses[_].simpleFilter.filterExpression.andGroup.filterExpressions[_] == NESTED
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.atAnyPointInTime == BOOLEAN
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.betweenFilter.fromValue.doubleValue == NUMBER
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.betweenFilter.fromValue.int64Value == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.betweenFilter.toValue.doubleValue == NUMBER
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.betweenFilter.toValue.int64Value == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.fieldName == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.inAnyNDayPeriod == INTEGER
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.inListFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.inListFilter.values[_] == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.numericFilter.operation == enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilterOperation[_]
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.numericFilter.value.doubleValue == NUMBER
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.numericFilter.value.int64Value == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.stringFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilterMatchType[_]
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.stringFilter.value == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.eventFilter.eventName == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.eventFilter.eventParameterFilterExpression == NESTED
    input.Body.filterClauses[_].simpleFilter.filterExpression.notExpression == NESTED
    input.Body.filterClauses[_].simpleFilter.filterExpression.orGroup.filterExpressions[_] == NESTED
    input.Body.filterClauses[_].simpleFilter.scope == enum_GoogleAnalyticsAdminV1alphaAudienceSimpleFilterScope[_]
    input.Body.membershipDurationDays == INTEGER
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.audiences.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.audiences.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.audiences.patch

enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilterOperation := [ "OPERATION_UNSPECIFIED", "EQUAL", "LESS_THAN", "GREATER_THAN" ]
enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "BEGINS_WITH", "ENDS_WITH", "CONTAINS", "FULL_REGEXP" ]
enum_GoogleAnalyticsAdminV1alphaAudienceEventTriggerLogCondition := [ "LOG_CONDITION_UNSPECIFIED", "AUDIENCE_JOINED", "AUDIENCE_MEMBERSHIP_RENEWED" ]
enum_GoogleAnalyticsAdminV1alphaAudienceExclusionDurationMode := [ "AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED", "EXCLUDE_TEMPORARILY", "EXCLUDE_PERMANENTLY" ]
enum_GoogleAnalyticsAdminV1alphaAudienceFilterClauseClauseType := [ "AUDIENCE_CLAUSE_TYPE_UNSPECIFIED", "INCLUDE", "EXCLUDE" ]
enum_GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStepScope := [ "AUDIENCE_FILTER_SCOPE_UNSPECIFIED", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" ]
enum_GoogleAnalyticsAdminV1alphaAudienceSequenceFilterScope := [ "AUDIENCE_FILTER_SCOPE_UNSPECIFIED", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" ]
enum_GoogleAnalyticsAdminV1alphaAudienceSimpleFilterScope := [ "AUDIENCE_FILTER_SCOPE_UNSPECIFIED", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.eventTrigger.eventName == STRING
    input.Body.eventTrigger.logCondition == enum_GoogleAnalyticsAdminV1alphaAudienceEventTriggerLogCondition[_]
    input.Body.exclusionDurationMode == enum_GoogleAnalyticsAdminV1alphaAudienceExclusionDurationMode[_]
    input.Body.filterClauses[_].clauseType == enum_GoogleAnalyticsAdminV1alphaAudienceFilterClauseClauseType[_]
    input.Body.filterClauses[_].sequenceFilter.scope == enum_GoogleAnalyticsAdminV1alphaAudienceSequenceFilterScope[_]
    input.Body.filterClauses[_].sequenceFilter.sequenceMaximumDuration == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].constraintDuration == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.andGroup.filterExpressions[_] == NESTED
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.atAnyPointInTime == BOOLEAN
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.betweenFilter.fromValue.doubleValue == NUMBER
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.betweenFilter.fromValue.int64Value == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.betweenFilter.toValue.doubleValue == NUMBER
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.betweenFilter.toValue.int64Value == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.fieldName == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.inAnyNDayPeriod == INTEGER
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.inListFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.inListFilter.values[_] == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.numericFilter.operation == enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilterOperation[_]
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.numericFilter.value.doubleValue == NUMBER
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.numericFilter.value.int64Value == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.stringFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilterMatchType[_]
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.dimensionOrMetricFilter.stringFilter.value == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.eventFilter.eventName == STRING
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.eventFilter.eventParameterFilterExpression == NESTED
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.notExpression == NESTED
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].filterExpression.orGroup.filterExpressions[_] == NESTED
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].immediatelyFollows == BOOLEAN
    input.Body.filterClauses[_].sequenceFilter.sequenceSteps[_].scope == enum_GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStepScope[_]
    input.Body.filterClauses[_].simpleFilter.filterExpression.andGroup.filterExpressions[_] == NESTED
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.atAnyPointInTime == BOOLEAN
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.betweenFilter.fromValue.doubleValue == NUMBER
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.betweenFilter.fromValue.int64Value == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.betweenFilter.toValue.doubleValue == NUMBER
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.betweenFilter.toValue.int64Value == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.fieldName == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.inAnyNDayPeriod == INTEGER
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.inListFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.inListFilter.values[_] == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.numericFilter.operation == enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilterOperation[_]
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.numericFilter.value.doubleValue == NUMBER
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.numericFilter.value.int64Value == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.stringFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilterMatchType[_]
    input.Body.filterClauses[_].simpleFilter.filterExpression.dimensionOrMetricFilter.stringFilter.value == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.eventFilter.eventName == STRING
    input.Body.filterClauses[_].simpleFilter.filterExpression.eventFilter.eventParameterFilterExpression == NESTED
    input.Body.filterClauses[_].simpleFilter.filterExpression.notExpression == NESTED
    input.Body.filterClauses[_].simpleFilter.filterExpression.orGroup.filterExpressions[_] == NESTED
    input.Body.filterClauses[_].simpleFilter.scope == enum_GoogleAnalyticsAdminV1alphaAudienceSimpleFilterScope[_]
    input.Body.membershipDurationDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.bigQueryLinks.create

valid {
    input.Body.dailyExportEnabled == BOOLEAN
    input.Body.datasetLocation == STRING
    input.Body.excludedEvents[_] == STRING
    input.Body.exportStreams[_] == STRING
    input.Body.freshDailyExportEnabled == BOOLEAN
    input.Body.includeAdvertisingId == BOOLEAN
    input.Body.project == STRING
    input.Body.streamingExportEnabled == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.bigQueryLinks.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.bigQueryLinks.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.bigQueryLinks.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.bigQueryLinks.patch

valid {
    input.Body.dailyExportEnabled == BOOLEAN
    input.Body.datasetLocation == STRING
    input.Body.excludedEvents[_] == STRING
    input.Body.exportStreams[_] == STRING
    input.Body.freshDailyExportEnabled == BOOLEAN
    input.Body.includeAdvertisingId == BOOLEAN
    input.Body.project == STRING
    input.Body.streamingExportEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.calculatedMetrics.create

enum_GoogleAnalyticsAdminV1alphaCalculatedMetricMetricUnit := [ "METRIC_UNIT_UNSPECIFIED", "STANDARD", "CURRENCY", "FEET", "MILES", "METERS", "KILOMETERS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.formula == STRING
    input.Body.metricUnit == enum_GoogleAnalyticsAdminV1alphaCalculatedMetricMetricUnit[_]
    input.ReqMap.parent == STRING
    input.Qs.calculatedMetricId == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.calculatedMetrics.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.calculatedMetrics.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.calculatedMetrics.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.calculatedMetrics.patch

enum_GoogleAnalyticsAdminV1alphaCalculatedMetricMetricUnit := [ "METRIC_UNIT_UNSPECIFIED", "STANDARD", "CURRENCY", "FEET", "MILES", "METERS", "KILOMETERS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.formula == STRING
    input.Body.metricUnit == enum_GoogleAnalyticsAdminV1alphaCalculatedMetricMetricUnit[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.channelGroups.create

enum_GoogleAnalyticsAdminV1alphaChannelGroupFilterStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "BEGINS_WITH", "ENDS_WITH", "CONTAINS", "FULL_REGEXP", "PARTIAL_REGEXP" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.groupingRule[_].displayName == STRING
    input.Body.groupingRule[_].expression.andGroup.filterExpressions[_] == NESTED
    input.Body.groupingRule[_].expression.filter.fieldName == STRING
    input.Body.groupingRule[_].expression.filter.inListFilter.values[_] == STRING
    input.Body.groupingRule[_].expression.filter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaChannelGroupFilterStringFilterMatchType[_]
    input.Body.groupingRule[_].expression.filter.stringFilter.value == STRING
    input.Body.groupingRule[_].expression.notExpression == NESTED
    input.Body.groupingRule[_].expression.orGroup.filterExpressions[_] == NESTED
    input.Body.primary == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.channelGroups.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.channelGroups.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.channelGroups.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.channelGroups.patch

enum_GoogleAnalyticsAdminV1alphaChannelGroupFilterStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "BEGINS_WITH", "ENDS_WITH", "CONTAINS", "FULL_REGEXP", "PARTIAL_REGEXP" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.groupingRule[_].displayName == STRING
    input.Body.groupingRule[_].expression.andGroup.filterExpressions[_] == NESTED
    input.Body.groupingRule[_].expression.filter.fieldName == STRING
    input.Body.groupingRule[_].expression.filter.inListFilter.values[_] == STRING
    input.Body.groupingRule[_].expression.filter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaChannelGroupFilterStringFilterMatchType[_]
    input.Body.groupingRule[_].expression.filter.stringFilter.value == STRING
    input.Body.groupingRule[_].expression.notExpression == NESTED
    input.Body.groupingRule[_].expression.orGroup.filterExpressions[_] == NESTED
    input.Body.primary == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.conversionEvents.create

enum_GoogleAnalyticsAdminV1betaConversionEventCountingMethod := [ "CONVERSION_COUNTING_METHOD_UNSPECIFIED", "ONCE_PER_EVENT", "ONCE_PER_SESSION" ]

valid {
    input.Body.countingMethod == enum_GoogleAnalyticsAdminV1betaConversionEventCountingMethod[_]
    input.Body.defaultConversionValue.currencyCode == STRING
    input.Body.defaultConversionValue.value == NUMBER
    input.Body.eventName == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.conversionEvents.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.conversionEvents.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.conversionEvents.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.conversionEvents.patch

enum_GoogleAnalyticsAdminV1betaConversionEventCountingMethod := [ "CONVERSION_COUNTING_METHOD_UNSPECIFIED", "ONCE_PER_EVENT", "ONCE_PER_SESSION" ]

valid {
    input.Body.countingMethod == enum_GoogleAnalyticsAdminV1betaConversionEventCountingMethod[_]
    input.Body.defaultConversionValue.currencyCode == STRING
    input.Body.defaultConversionValue.value == NUMBER
    input.Body.eventName == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.create

enum_GoogleAnalyticsAdminV1betaPropertyIndustryCategory := [ "INDUSTRY_CATEGORY_UNSPECIFIED", "AUTOMOTIVE", "BUSINESS_AND_INDUSTRIAL_MARKETS", "FINANCE", "HEALTHCARE", "TECHNOLOGY", "TRAVEL", "OTHER", "ARTS_AND_ENTERTAINMENT", "BEAUTY_AND_FITNESS", "BOOKS_AND_LITERATURE", "FOOD_AND_DRINK", "GAMES", "HOBBIES_AND_LEISURE", "HOME_AND_GARDEN", "INTERNET_AND_TELECOM", "LAW_AND_GOVERNMENT", "NEWS", "ONLINE_COMMUNITIES", "PEOPLE_AND_SOCIETY", "PETS_AND_ANIMALS", "REAL_ESTATE", "REFERENCE", "SCIENCE", "SPORTS", "JOBS_AND_EDUCATION", "SHOPPING" ]
enum_GoogleAnalyticsAdminV1betaPropertyPropertyType := [ "PROPERTY_TYPE_UNSPECIFIED", "PROPERTY_TYPE_ORDINARY", "PROPERTY_TYPE_SUBPROPERTY", "PROPERTY_TYPE_ROLLUP" ]

valid {
    input.Body.account == STRING
    input.Body.currencyCode == STRING
    input.Body.displayName == STRING
    input.Body.industryCategory == enum_GoogleAnalyticsAdminV1betaPropertyIndustryCategory[_]
    input.Body.parent == STRING
    input.Body.propertyType == enum_GoogleAnalyticsAdminV1betaPropertyPropertyType[_]
    input.Body.timeZone == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.createConnectedSiteTag

valid {
    input.Body.connectedSiteTag.displayName == STRING
    input.Body.connectedSiteTag.tagId == STRING
    input.Body.property == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.createRollupProperty

enum_GoogleAnalyticsAdminV1alphaPropertyIndustryCategory := [ "INDUSTRY_CATEGORY_UNSPECIFIED", "AUTOMOTIVE", "BUSINESS_AND_INDUSTRIAL_MARKETS", "FINANCE", "HEALTHCARE", "TECHNOLOGY", "TRAVEL", "OTHER", "ARTS_AND_ENTERTAINMENT", "BEAUTY_AND_FITNESS", "BOOKS_AND_LITERATURE", "FOOD_AND_DRINK", "GAMES", "HOBBIES_AND_LEISURE", "HOME_AND_GARDEN", "INTERNET_AND_TELECOM", "LAW_AND_GOVERNMENT", "NEWS", "ONLINE_COMMUNITIES", "PEOPLE_AND_SOCIETY", "PETS_AND_ANIMALS", "REAL_ESTATE", "REFERENCE", "SCIENCE", "SPORTS", "JOBS_AND_EDUCATION", "SHOPPING" ]
enum_GoogleAnalyticsAdminV1alphaPropertyPropertyType := [ "PROPERTY_TYPE_UNSPECIFIED", "PROPERTY_TYPE_ORDINARY", "PROPERTY_TYPE_SUBPROPERTY", "PROPERTY_TYPE_ROLLUP" ]

valid {
    input.Body.rollupProperty.account == STRING
    input.Body.rollupProperty.currencyCode == STRING
    input.Body.rollupProperty.displayName == STRING
    input.Body.rollupProperty.industryCategory == enum_GoogleAnalyticsAdminV1alphaPropertyIndustryCategory[_]
    input.Body.rollupProperty.parent == STRING
    input.Body.rollupProperty.propertyType == enum_GoogleAnalyticsAdminV1alphaPropertyPropertyType[_]
    input.Body.rollupProperty.timeZone == STRING
    input.Body.sourceProperties[_] == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customDimensions.archive

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customDimensions.create

enum_GoogleAnalyticsAdminV1betaCustomDimensionScope := [ "DIMENSION_SCOPE_UNSPECIFIED", "EVENT", "USER", "ITEM" ]

valid {
    input.Body.description == STRING
    input.Body.disallowAdsPersonalization == BOOLEAN
    input.Body.displayName == STRING
    input.Body.parameterName == STRING
    input.Body.scope == enum_GoogleAnalyticsAdminV1betaCustomDimensionScope[_]
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customDimensions.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customDimensions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customDimensions.patch

enum_GoogleAnalyticsAdminV1betaCustomDimensionScope := [ "DIMENSION_SCOPE_UNSPECIFIED", "EVENT", "USER", "ITEM" ]

valid {
    input.Body.description == STRING
    input.Body.disallowAdsPersonalization == BOOLEAN
    input.Body.displayName == STRING
    input.Body.parameterName == STRING
    input.Body.scope == enum_GoogleAnalyticsAdminV1betaCustomDimensionScope[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customMetrics.archive

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customMetrics.create

enum_GoogleAnalyticsAdminV1betaCustomMetricMeasurementUnit := [ "MEASUREMENT_UNIT_UNSPECIFIED", "STANDARD", "CURRENCY", "FEET", "METERS", "KILOMETERS", "MILES", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS" ]
enum_GoogleAnalyticsAdminV1betaCustomMetricRestrictedMetricType := [ "RESTRICTED_METRIC_TYPE_UNSPECIFIED", "COST_DATA", "REVENUE_DATA" ]
enum_GoogleAnalyticsAdminV1betaCustomMetricScope := [ "METRIC_SCOPE_UNSPECIFIED", "EVENT" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.measurementUnit == enum_GoogleAnalyticsAdminV1betaCustomMetricMeasurementUnit[_]
    input.Body.parameterName == STRING
    input.Body.restrictedMetricType[_] == enum_GoogleAnalyticsAdminV1betaCustomMetricRestrictedMetricType[_]
    input.Body.scope == enum_GoogleAnalyticsAdminV1betaCustomMetricScope[_]
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customMetrics.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customMetrics.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.customMetrics.patch

enum_GoogleAnalyticsAdminV1betaCustomMetricMeasurementUnit := [ "MEASUREMENT_UNIT_UNSPECIFIED", "STANDARD", "CURRENCY", "FEET", "METERS", "KILOMETERS", "MILES", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS" ]
enum_GoogleAnalyticsAdminV1betaCustomMetricRestrictedMetricType := [ "RESTRICTED_METRIC_TYPE_UNSPECIFIED", "COST_DATA", "REVENUE_DATA" ]
enum_GoogleAnalyticsAdminV1betaCustomMetricScope := [ "METRIC_SCOPE_UNSPECIFIED", "EVENT" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.measurementUnit == enum_GoogleAnalyticsAdminV1betaCustomMetricMeasurementUnit[_]
    input.Body.parameterName == STRING
    input.Body.restrictedMetricType[_] == enum_GoogleAnalyticsAdminV1betaCustomMetricRestrictedMetricType[_]
    input.Body.scope == enum_GoogleAnalyticsAdminV1betaCustomMetricScope[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.create

enum_GoogleAnalyticsAdminV1betaDataStreamType := [ "DATA_STREAM_TYPE_UNSPECIFIED", "WEB_DATA_STREAM", "ANDROID_APP_DATA_STREAM", "IOS_APP_DATA_STREAM" ]

valid {
    input.Body.androidAppStreamData.packageName == STRING
    input.Body.displayName == STRING
    input.Body.iosAppStreamData.bundleId == STRING
    input.Body.type == enum_GoogleAnalyticsAdminV1betaDataStreamType[_]
    input.Body.webStreamData.defaultUri == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventCreateRules.create

enum_GoogleAnalyticsAdminV1alphaMatchingConditionComparisonType := [ "COMPARISON_TYPE_UNSPECIFIED", "EQUALS", "EQUALS_CASE_INSENSITIVE", "CONTAINS", "CONTAINS_CASE_INSENSITIVE", "STARTS_WITH", "STARTS_WITH_CASE_INSENSITIVE", "ENDS_WITH", "ENDS_WITH_CASE_INSENSITIVE", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "REGULAR_EXPRESSION", "REGULAR_EXPRESSION_CASE_INSENSITIVE" ]

valid {
    input.Body.destinationEvent == STRING
    input.Body.eventConditions[_].comparisonType == enum_GoogleAnalyticsAdminV1alphaMatchingConditionComparisonType[_]
    input.Body.eventConditions[_].field == STRING
    input.Body.eventConditions[_].negated == BOOLEAN
    input.Body.eventConditions[_].value == STRING
    input.Body.parameterMutations[_].parameter == STRING
    input.Body.parameterMutations[_].parameterValue == STRING
    input.Body.sourceCopyParameters == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventCreateRules.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventCreateRules.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventCreateRules.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventCreateRules.patch

enum_GoogleAnalyticsAdminV1alphaMatchingConditionComparisonType := [ "COMPARISON_TYPE_UNSPECIFIED", "EQUALS", "EQUALS_CASE_INSENSITIVE", "CONTAINS", "CONTAINS_CASE_INSENSITIVE", "STARTS_WITH", "STARTS_WITH_CASE_INSENSITIVE", "ENDS_WITH", "ENDS_WITH_CASE_INSENSITIVE", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "REGULAR_EXPRESSION", "REGULAR_EXPRESSION_CASE_INSENSITIVE" ]

valid {
    input.Body.destinationEvent == STRING
    input.Body.eventConditions[_].comparisonType == enum_GoogleAnalyticsAdminV1alphaMatchingConditionComparisonType[_]
    input.Body.eventConditions[_].field == STRING
    input.Body.eventConditions[_].negated == BOOLEAN
    input.Body.eventConditions[_].value == STRING
    input.Body.parameterMutations[_].parameter == STRING
    input.Body.parameterMutations[_].parameterValue == STRING
    input.Body.sourceCopyParameters == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventEditRules.create

enum_GoogleAnalyticsAdminV1alphaMatchingConditionComparisonType := [ "COMPARISON_TYPE_UNSPECIFIED", "EQUALS", "EQUALS_CASE_INSENSITIVE", "CONTAINS", "CONTAINS_CASE_INSENSITIVE", "STARTS_WITH", "STARTS_WITH_CASE_INSENSITIVE", "ENDS_WITH", "ENDS_WITH_CASE_INSENSITIVE", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "REGULAR_EXPRESSION", "REGULAR_EXPRESSION_CASE_INSENSITIVE" ]

valid {
    input.Body.displayName == STRING
    input.Body.eventConditions[_].comparisonType == enum_GoogleAnalyticsAdminV1alphaMatchingConditionComparisonType[_]
    input.Body.eventConditions[_].field == STRING
    input.Body.eventConditions[_].negated == BOOLEAN
    input.Body.eventConditions[_].value == STRING
    input.Body.name == STRING
    input.Body.parameterMutations[_].parameter == STRING
    input.Body.parameterMutations[_].parameterValue == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventEditRules.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventEditRules.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventEditRules.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventEditRules.patch

enum_GoogleAnalyticsAdminV1alphaMatchingConditionComparisonType := [ "COMPARISON_TYPE_UNSPECIFIED", "EQUALS", "EQUALS_CASE_INSENSITIVE", "CONTAINS", "CONTAINS_CASE_INSENSITIVE", "STARTS_WITH", "STARTS_WITH_CASE_INSENSITIVE", "ENDS_WITH", "ENDS_WITH_CASE_INSENSITIVE", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "REGULAR_EXPRESSION", "REGULAR_EXPRESSION_CASE_INSENSITIVE" ]

valid {
    input.Body.displayName == STRING
    input.Body.eventConditions[_].comparisonType == enum_GoogleAnalyticsAdminV1alphaMatchingConditionComparisonType[_]
    input.Body.eventConditions[_].field == STRING
    input.Body.eventConditions[_].negated == BOOLEAN
    input.Body.eventConditions[_].value == STRING
    input.Body.name == STRING
    input.Body.parameterMutations[_].parameter == STRING
    input.Body.parameterMutations[_].parameterValue == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.eventEditRules.reorder

valid {
    input.Body.eventEditRules[_] == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.getDataRedactionSettings

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.getEnhancedMeasurementSettings

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.getGlobalSiteTag

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.measurementProtocolSecrets.create

valid {
    input.Body.displayName == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.measurementProtocolSecrets.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.measurementProtocolSecrets.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.measurementProtocolSecrets.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.measurementProtocolSecrets.patch

valid {
    input.Body.displayName == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.patch

enum_GoogleAnalyticsAdminV1betaDataStreamType := [ "DATA_STREAM_TYPE_UNSPECIFIED", "WEB_DATA_STREAM", "ANDROID_APP_DATA_STREAM", "IOS_APP_DATA_STREAM" ]

valid {
    input.Body.androidAppStreamData.packageName == STRING
    input.Body.displayName == STRING
    input.Body.iosAppStreamData.bundleId == STRING
    input.Body.type == enum_GoogleAnalyticsAdminV1betaDataStreamType[_]
    input.Body.webStreamData.defaultUri == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.create

enum_GoogleAnalyticsAdminV1alphaConversionValuesCoarseValue := [ "COARSE_VALUE_UNSPECIFIED", "COARSE_VALUE_LOW", "COARSE_VALUE_MEDIUM", "COARSE_VALUE_HIGH" ]

valid {
    input.Body.applyConversionValues == BOOLEAN
    input.Body.postbackWindowOne.conversionValues[_].coarseValue == enum_GoogleAnalyticsAdminV1alphaConversionValuesCoarseValue[_]
    input.Body.postbackWindowOne.conversionValues[_].displayName == STRING
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].eventName == STRING
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].maxEventCount == STRING
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].maxEventValue == NUMBER
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].minEventCount == STRING
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].minEventValue == NUMBER
    input.Body.postbackWindowOne.conversionValues[_].fineValue == INTEGER
    input.Body.postbackWindowOne.conversionValues[_].lockEnabled == BOOLEAN
    input.Body.postbackWindowOne.postbackWindowSettingsEnabled == BOOLEAN
    input.Body.postbackWindowThree.conversionValues[_].coarseValue == enum_GoogleAnalyticsAdminV1alphaConversionValuesCoarseValue[_]
    input.Body.postbackWindowThree.conversionValues[_].displayName == STRING
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].eventName == STRING
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].maxEventCount == STRING
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].maxEventValue == NUMBER
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].minEventCount == STRING
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].minEventValue == NUMBER
    input.Body.postbackWindowThree.conversionValues[_].fineValue == INTEGER
    input.Body.postbackWindowThree.conversionValues[_].lockEnabled == BOOLEAN
    input.Body.postbackWindowThree.postbackWindowSettingsEnabled == BOOLEAN
    input.Body.postbackWindowTwo.conversionValues[_].coarseValue == enum_GoogleAnalyticsAdminV1alphaConversionValuesCoarseValue[_]
    input.Body.postbackWindowTwo.conversionValues[_].displayName == STRING
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].eventName == STRING
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].maxEventCount == STRING
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].maxEventValue == NUMBER
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].minEventCount == STRING
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].minEventValue == NUMBER
    input.Body.postbackWindowTwo.conversionValues[_].fineValue == INTEGER
    input.Body.postbackWindowTwo.conversionValues[_].lockEnabled == BOOLEAN
    input.Body.postbackWindowTwo.postbackWindowSettingsEnabled == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.patch

enum_GoogleAnalyticsAdminV1alphaConversionValuesCoarseValue := [ "COARSE_VALUE_UNSPECIFIED", "COARSE_VALUE_LOW", "COARSE_VALUE_MEDIUM", "COARSE_VALUE_HIGH" ]

valid {
    input.Body.applyConversionValues == BOOLEAN
    input.Body.postbackWindowOne.conversionValues[_].coarseValue == enum_GoogleAnalyticsAdminV1alphaConversionValuesCoarseValue[_]
    input.Body.postbackWindowOne.conversionValues[_].displayName == STRING
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].eventName == STRING
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].maxEventCount == STRING
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].maxEventValue == NUMBER
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].minEventCount == STRING
    input.Body.postbackWindowOne.conversionValues[_].eventMappings[_].minEventValue == NUMBER
    input.Body.postbackWindowOne.conversionValues[_].fineValue == INTEGER
    input.Body.postbackWindowOne.conversionValues[_].lockEnabled == BOOLEAN
    input.Body.postbackWindowOne.postbackWindowSettingsEnabled == BOOLEAN
    input.Body.postbackWindowThree.conversionValues[_].coarseValue == enum_GoogleAnalyticsAdminV1alphaConversionValuesCoarseValue[_]
    input.Body.postbackWindowThree.conversionValues[_].displayName == STRING
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].eventName == STRING
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].maxEventCount == STRING
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].maxEventValue == NUMBER
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].minEventCount == STRING
    input.Body.postbackWindowThree.conversionValues[_].eventMappings[_].minEventValue == NUMBER
    input.Body.postbackWindowThree.conversionValues[_].fineValue == INTEGER
    input.Body.postbackWindowThree.conversionValues[_].lockEnabled == BOOLEAN
    input.Body.postbackWindowThree.postbackWindowSettingsEnabled == BOOLEAN
    input.Body.postbackWindowTwo.conversionValues[_].coarseValue == enum_GoogleAnalyticsAdminV1alphaConversionValuesCoarseValue[_]
    input.Body.postbackWindowTwo.conversionValues[_].displayName == STRING
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].eventName == STRING
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].maxEventCount == STRING
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].maxEventValue == NUMBER
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].minEventCount == STRING
    input.Body.postbackWindowTwo.conversionValues[_].eventMappings[_].minEventValue == NUMBER
    input.Body.postbackWindowTwo.conversionValues[_].fineValue == INTEGER
    input.Body.postbackWindowTwo.conversionValues[_].lockEnabled == BOOLEAN
    input.Body.postbackWindowTwo.postbackWindowSettingsEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.updateDataRedactionSettings

valid {
    input.Body.emailRedactionEnabled == BOOLEAN
    input.Body.queryParameterKeys[_] == STRING
    input.Body.queryParameterRedactionEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.dataStreams.updateEnhancedMeasurementSettings

valid {
    input.Body.fileDownloadsEnabled == BOOLEAN
    input.Body.formInteractionsEnabled == BOOLEAN
    input.Body.outboundClicksEnabled == BOOLEAN
    input.Body.pageChangesEnabled == BOOLEAN
    input.Body.scrollsEnabled == BOOLEAN
    input.Body.searchQueryParameter == STRING
    input.Body.siteSearchEnabled == BOOLEAN
    input.Body.streamEnabled == BOOLEAN
    input.Body.uriQueryParameter == STRING
    input.Body.videoEngagementEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.deleteConnectedSiteTag

valid {
    input.Body.property == STRING
    input.Body.tagId == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.approve

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.cancel

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.create

valid {
    input.Body.adsPersonalizationEnabled == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.campaignDataSharingEnabled == BOOLEAN
    input.Body.costDataSharingEnabled == BOOLEAN
    input.Body.validationEmail == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinks.create

valid {
    input.Body.adsPersonalizationEnabled == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.campaignDataSharingEnabled == BOOLEAN
    input.Body.costDataSharingEnabled == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinks.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinks.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinks.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.displayVideo360AdvertiserLinks.patch

valid {
    input.Body.adsPersonalizationEnabled == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.campaignDataSharingEnabled == BOOLEAN
    input.Body.costDataSharingEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.expandedDataSets.create

enum_GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "CONTAINS" ]

valid {
    input.Body.description == STRING
    input.Body.dimensionFilterExpression.andGroup.filterExpressions[_] == NESTED
    input.Body.dimensionFilterExpression.filter.fieldName == STRING
    input.Body.dimensionFilterExpression.filter.inListFilter.caseSensitive == BOOLEAN
    input.Body.dimensionFilterExpression.filter.inListFilter.values[_] == STRING
    input.Body.dimensionFilterExpression.filter.stringFilter.caseSensitive == BOOLEAN
    input.Body.dimensionFilterExpression.filter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilterMatchType[_]
    input.Body.dimensionFilterExpression.filter.stringFilter.value == STRING
    input.Body.dimensionFilterExpression.notExpression == NESTED
    input.Body.dimensionNames[_] == STRING
    input.Body.displayName == STRING
    input.Body.metricNames[_] == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.expandedDataSets.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.expandedDataSets.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.expandedDataSets.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.expandedDataSets.patch

enum_GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "CONTAINS" ]

valid {
    input.Body.description == STRING
    input.Body.dimensionFilterExpression.andGroup.filterExpressions[_] == NESTED
    input.Body.dimensionFilterExpression.filter.fieldName == STRING
    input.Body.dimensionFilterExpression.filter.inListFilter.caseSensitive == BOOLEAN
    input.Body.dimensionFilterExpression.filter.inListFilter.values[_] == STRING
    input.Body.dimensionFilterExpression.filter.stringFilter.caseSensitive == BOOLEAN
    input.Body.dimensionFilterExpression.filter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilterMatchType[_]
    input.Body.dimensionFilterExpression.filter.stringFilter.value == STRING
    input.Body.dimensionFilterExpression.notExpression == NESTED
    input.Body.dimensionNames[_] == STRING
    input.Body.displayName == STRING
    input.Body.metricNames[_] == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.fetchAutomatedGa4ConfigurationOptOut

valid {
    input.Body.property == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.fetchConnectedGa4Property

valid {
    input.Qs.property == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.firebaseLinks.create

valid {
    input.Body.project == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.firebaseLinks.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.firebaseLinks.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.getAttributionSettings

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.getDataRetentionSettings

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.getGoogleSignalsSettings

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.googleAdsLinks.create

valid {
    input.Body.adsPersonalizationEnabled == BOOLEAN
    input.Body.customerId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.googleAdsLinks.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.googleAdsLinks.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.googleAdsLinks.patch

valid {
    input.Body.adsPersonalizationEnabled == BOOLEAN
    input.Body.customerId == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.keyEvents.create

enum_GoogleAnalyticsAdminV1betaKeyEventCountingMethod := [ "COUNTING_METHOD_UNSPECIFIED", "ONCE_PER_EVENT", "ONCE_PER_SESSION" ]

valid {
    input.Body.countingMethod == enum_GoogleAnalyticsAdminV1betaKeyEventCountingMethod[_]
    input.Body.defaultValue.currencyCode == STRING
    input.Body.defaultValue.numericValue == NUMBER
    input.Body.eventName == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.keyEvents.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.keyEvents.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.keyEvents.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.keyEvents.patch

enum_GoogleAnalyticsAdminV1betaKeyEventCountingMethod := [ "COUNTING_METHOD_UNSPECIFIED", "ONCE_PER_EVENT", "ONCE_PER_SESSION" ]

valid {
    input.Body.countingMethod == enum_GoogleAnalyticsAdminV1betaKeyEventCountingMethod[_]
    input.Body.defaultValue.currencyCode == STRING
    input.Body.defaultValue.numericValue == NUMBER
    input.Body.eventName == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.list

valid {
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.showDeleted == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.listConnectedSiteTags

valid {
    input.Body.property == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.patch

enum_GoogleAnalyticsAdminV1betaPropertyIndustryCategory := [ "INDUSTRY_CATEGORY_UNSPECIFIED", "AUTOMOTIVE", "BUSINESS_AND_INDUSTRIAL_MARKETS", "FINANCE", "HEALTHCARE", "TECHNOLOGY", "TRAVEL", "OTHER", "ARTS_AND_ENTERTAINMENT", "BEAUTY_AND_FITNESS", "BOOKS_AND_LITERATURE", "FOOD_AND_DRINK", "GAMES", "HOBBIES_AND_LEISURE", "HOME_AND_GARDEN", "INTERNET_AND_TELECOM", "LAW_AND_GOVERNMENT", "NEWS", "ONLINE_COMMUNITIES", "PEOPLE_AND_SOCIETY", "PETS_AND_ANIMALS", "REAL_ESTATE", "REFERENCE", "SCIENCE", "SPORTS", "JOBS_AND_EDUCATION", "SHOPPING" ]
enum_GoogleAnalyticsAdminV1betaPropertyPropertyType := [ "PROPERTY_TYPE_UNSPECIFIED", "PROPERTY_TYPE_ORDINARY", "PROPERTY_TYPE_SUBPROPERTY", "PROPERTY_TYPE_ROLLUP" ]

valid {
    input.Body.account == STRING
    input.Body.currencyCode == STRING
    input.Body.displayName == STRING
    input.Body.industryCategory == enum_GoogleAnalyticsAdminV1betaPropertyIndustryCategory[_]
    input.Body.parent == STRING
    input.Body.propertyType == enum_GoogleAnalyticsAdminV1betaPropertyPropertyType[_]
    input.Body.timeZone == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.provisionSubproperty

enum_GoogleAnalyticsAdminV1alphaPropertyIndustryCategory := [ "INDUSTRY_CATEGORY_UNSPECIFIED", "AUTOMOTIVE", "BUSINESS_AND_INDUSTRIAL_MARKETS", "FINANCE", "HEALTHCARE", "TECHNOLOGY", "TRAVEL", "OTHER", "ARTS_AND_ENTERTAINMENT", "BEAUTY_AND_FITNESS", "BOOKS_AND_LITERATURE", "FOOD_AND_DRINK", "GAMES", "HOBBIES_AND_LEISURE", "HOME_AND_GARDEN", "INTERNET_AND_TELECOM", "LAW_AND_GOVERNMENT", "NEWS", "ONLINE_COMMUNITIES", "PEOPLE_AND_SOCIETY", "PETS_AND_ANIMALS", "REAL_ESTATE", "REFERENCE", "SCIENCE", "SPORTS", "JOBS_AND_EDUCATION", "SHOPPING" ]
enum_GoogleAnalyticsAdminV1alphaPropertyPropertyType := [ "PROPERTY_TYPE_UNSPECIFIED", "PROPERTY_TYPE_ORDINARY", "PROPERTY_TYPE_SUBPROPERTY", "PROPERTY_TYPE_ROLLUP" ]
enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterClauseFilterClauseType := [ "FILTER_CLAUSE_TYPE_UNSPECIFIED", "INCLUDE", "EXCLUDE" ]
enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterConditionStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "BEGINS_WITH", "ENDS_WITH", "CONTAINS", "FULL_REGEXP", "PARTIAL_REGEXP" ]

valid {
    input.Body.subproperty.account == STRING
    input.Body.subproperty.currencyCode == STRING
    input.Body.subproperty.displayName == STRING
    input.Body.subproperty.industryCategory == enum_GoogleAnalyticsAdminV1alphaPropertyIndustryCategory[_]
    input.Body.subproperty.parent == STRING
    input.Body.subproperty.propertyType == enum_GoogleAnalyticsAdminV1alphaPropertyPropertyType[_]
    input.Body.subproperty.timeZone == STRING
    input.Body.subpropertyEventFilter.applyToProperty == STRING
    input.Body.subpropertyEventFilter.filterClauses[_].filterClauseType == enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterClauseFilterClauseType[_]
    input.Body.subpropertyEventFilter.filterClauses[_].filterExpression.filterCondition.fieldName == STRING
    input.Body.subpropertyEventFilter.filterClauses[_].filterExpression.filterCondition.nullFilter == BOOLEAN
    input.Body.subpropertyEventFilter.filterClauses[_].filterExpression.filterCondition.stringFilter.caseSensitive == BOOLEAN
    input.Body.subpropertyEventFilter.filterClauses[_].filterExpression.filterCondition.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterConditionStringFilterMatchType[_]
    input.Body.subpropertyEventFilter.filterClauses[_].filterExpression.filterCondition.stringFilter.value == STRING
    input.Body.subpropertyEventFilter.filterClauses[_].filterExpression.notExpression == NESTED
    input.Body.subpropertyEventFilter.filterClauses[_].filterExpression.orGroup.filterExpressions[_] == NESTED
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.rollupPropertySourceLinks.create

valid {
    input.Body.sourceProperty == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.rollupPropertySourceLinks.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.rollupPropertySourceLinks.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.rollupPropertySourceLinks.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.runAccessReport

enum_GoogleAnalyticsAdminV1betaAccessNumericFilterOperation := [ "OPERATION_UNSPECIFIED", "EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "GREATER_THAN", "GREATER_THAN_OR_EQUAL" ]
enum_GoogleAnalyticsAdminV1betaAccessOrderByDimensionOrderByOrderType := [ "ORDER_TYPE_UNSPECIFIED", "ALPHANUMERIC", "CASE_INSENSITIVE_ALPHANUMERIC", "NUMERIC" ]
enum_GoogleAnalyticsAdminV1betaAccessStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "BEGINS_WITH", "ENDS_WITH", "CONTAINS", "FULL_REGEXP", "PARTIAL_REGEXP" ]

valid {
    input.Body.dateRanges[_].endDate == STRING
    input.Body.dateRanges[_].startDate == STRING
    input.Body.dimensionFilter.accessFilter.betweenFilter.fromValue.doubleValue == NUMBER
    input.Body.dimensionFilter.accessFilter.betweenFilter.fromValue.int64Value == STRING
    input.Body.dimensionFilter.accessFilter.betweenFilter.toValue.doubleValue == NUMBER
    input.Body.dimensionFilter.accessFilter.betweenFilter.toValue.int64Value == STRING
    input.Body.dimensionFilter.accessFilter.fieldName == STRING
    input.Body.dimensionFilter.accessFilter.inListFilter.caseSensitive == BOOLEAN
    input.Body.dimensionFilter.accessFilter.inListFilter.values[_] == STRING
    input.Body.dimensionFilter.accessFilter.numericFilter.operation == enum_GoogleAnalyticsAdminV1betaAccessNumericFilterOperation[_]
    input.Body.dimensionFilter.accessFilter.numericFilter.value.doubleValue == NUMBER
    input.Body.dimensionFilter.accessFilter.numericFilter.value.int64Value == STRING
    input.Body.dimensionFilter.accessFilter.stringFilter.caseSensitive == BOOLEAN
    input.Body.dimensionFilter.accessFilter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1betaAccessStringFilterMatchType[_]
    input.Body.dimensionFilter.accessFilter.stringFilter.value == STRING
    input.Body.dimensionFilter.andGroup.expressions[_] == NESTED
    input.Body.dimensionFilter.notExpression == NESTED
    input.Body.dimensionFilter.orGroup.expressions[_] == NESTED
    input.Body.dimensions[_].dimensionName == STRING
    input.Body.expandGroups == BOOLEAN
    input.Body.includeAllUsers == BOOLEAN
    input.Body.limit == STRING
    input.Body.metricFilter.accessFilter.betweenFilter.fromValue.doubleValue == NUMBER
    input.Body.metricFilter.accessFilter.betweenFilter.fromValue.int64Value == STRING
    input.Body.metricFilter.accessFilter.betweenFilter.toValue.doubleValue == NUMBER
    input.Body.metricFilter.accessFilter.betweenFilter.toValue.int64Value == STRING
    input.Body.metricFilter.accessFilter.fieldName == STRING
    input.Body.metricFilter.accessFilter.inListFilter.caseSensitive == BOOLEAN
    input.Body.metricFilter.accessFilter.inListFilter.values[_] == STRING
    input.Body.metricFilter.accessFilter.numericFilter.operation == enum_GoogleAnalyticsAdminV1betaAccessNumericFilterOperation[_]
    input.Body.metricFilter.accessFilter.numericFilter.value.doubleValue == NUMBER
    input.Body.metricFilter.accessFilter.numericFilter.value.int64Value == STRING
    input.Body.metricFilter.accessFilter.stringFilter.caseSensitive == BOOLEAN
    input.Body.metricFilter.accessFilter.stringFilter.matchType == enum_GoogleAnalyticsAdminV1betaAccessStringFilterMatchType[_]
    input.Body.metricFilter.accessFilter.stringFilter.value == STRING
    input.Body.metricFilter.andGroup.expressions[_] == NESTED
    input.Body.metricFilter.notExpression == NESTED
    input.Body.metricFilter.orGroup.expressions[_] == NESTED
    input.Body.metrics[_].metricName == STRING
    input.Body.offset == STRING
    input.Body.orderBys[_].desc == BOOLEAN
    input.Body.orderBys[_].dimension.dimensionName == STRING
    input.Body.orderBys[_].dimension.orderType == enum_GoogleAnalyticsAdminV1betaAccessOrderByDimensionOrderByOrderType[_]
    input.Body.orderBys[_].metric.metricName == STRING
    input.Body.returnEntityQuota == BOOLEAN
    input.Body.timeZone == STRING
    input.ReqMap.entity == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.searchAds360Links.create

valid {
    input.Body.adsPersonalizationEnabled == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.campaignDataSharingEnabled == BOOLEAN
    input.Body.costDataSharingEnabled == BOOLEAN
    input.Body.siteStatsSharingEnabled == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.searchAds360Links.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.searchAds360Links.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.searchAds360Links.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.searchAds360Links.patch

valid {
    input.Body.adsPersonalizationEnabled == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.campaignDataSharingEnabled == BOOLEAN
    input.Body.costDataSharingEnabled == BOOLEAN
    input.Body.siteStatsSharingEnabled == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.setAutomatedGa4ConfigurationOptOut

valid {
    input.Body.optOut == BOOLEAN
    input.Body.property == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.subpropertyEventFilters.create

enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterClauseFilterClauseType := [ "FILTER_CLAUSE_TYPE_UNSPECIFIED", "INCLUDE", "EXCLUDE" ]
enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterConditionStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "BEGINS_WITH", "ENDS_WITH", "CONTAINS", "FULL_REGEXP", "PARTIAL_REGEXP" ]

valid {
    input.Body.applyToProperty == STRING
    input.Body.filterClauses[_].filterClauseType == enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterClauseFilterClauseType[_]
    input.Body.filterClauses[_].filterExpression.filterCondition.fieldName == STRING
    input.Body.filterClauses[_].filterExpression.filterCondition.nullFilter == BOOLEAN
    input.Body.filterClauses[_].filterExpression.filterCondition.stringFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].filterExpression.filterCondition.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterConditionStringFilterMatchType[_]
    input.Body.filterClauses[_].filterExpression.filterCondition.stringFilter.value == STRING
    input.Body.filterClauses[_].filterExpression.notExpression == NESTED
    input.Body.filterClauses[_].filterExpression.orGroup.filterExpressions[_] == NESTED
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.subpropertyEventFilters.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.subpropertyEventFilters.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.subpropertyEventFilters.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.subpropertyEventFilters.patch

enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterClauseFilterClauseType := [ "FILTER_CLAUSE_TYPE_UNSPECIFIED", "INCLUDE", "EXCLUDE" ]
enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterConditionStringFilterMatchType := [ "MATCH_TYPE_UNSPECIFIED", "EXACT", "BEGINS_WITH", "ENDS_WITH", "CONTAINS", "FULL_REGEXP", "PARTIAL_REGEXP" ]

valid {
    input.Body.applyToProperty == STRING
    input.Body.filterClauses[_].filterClauseType == enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterClauseFilterClauseType[_]
    input.Body.filterClauses[_].filterExpression.filterCondition.fieldName == STRING
    input.Body.filterClauses[_].filterExpression.filterCondition.nullFilter == BOOLEAN
    input.Body.filterClauses[_].filterExpression.filterCondition.stringFilter.caseSensitive == BOOLEAN
    input.Body.filterClauses[_].filterExpression.filterCondition.stringFilter.matchType == enum_GoogleAnalyticsAdminV1alphaSubpropertyEventFilterConditionStringFilterMatchType[_]
    input.Body.filterClauses[_].filterExpression.filterCondition.stringFilter.value == STRING
    input.Body.filterClauses[_].filterExpression.notExpression == NESTED
    input.Body.filterClauses[_].filterExpression.orGroup.filterExpressions[_] == NESTED
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.updateAttributionSettings

enum_GoogleAnalyticsAdminV1alphaAttributionSettingsAcquisitionConversionEventLookbackWindow := [ "ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED", "ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_7_DAYS", "ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS" ]
enum_GoogleAnalyticsAdminV1alphaAttributionSettingsAdsWebConversionDataExportScope := [ "ADS_WEB_CONVERSION_DATA_EXPORT_SCOPE_UNSPECIFIED", "NOT_SELECTED_YET", "PAID_AND_ORGANIC_CHANNELS", "GOOGLE_PAID_CHANNELS" ]
enum_GoogleAnalyticsAdminV1alphaAttributionSettingsOtherConversionEventLookbackWindow := [ "OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED", "OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS", "OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_60_DAYS", "OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_90_DAYS" ]
enum_GoogleAnalyticsAdminV1alphaAttributionSettingsReportingAttributionModel := [ "REPORTING_ATTRIBUTION_MODEL_UNSPECIFIED", "PAID_AND_ORGANIC_CHANNELS_DATA_DRIVEN", "PAID_AND_ORGANIC_CHANNELS_LAST_CLICK", "GOOGLE_PAID_CHANNELS_LAST_CLICK" ]

valid {
    input.Body.acquisitionConversionEventLookbackWindow == enum_GoogleAnalyticsAdminV1alphaAttributionSettingsAcquisitionConversionEventLookbackWindow[_]
    input.Body.adsWebConversionDataExportScope == enum_GoogleAnalyticsAdminV1alphaAttributionSettingsAdsWebConversionDataExportScope[_]
    input.Body.otherConversionEventLookbackWindow == enum_GoogleAnalyticsAdminV1alphaAttributionSettingsOtherConversionEventLookbackWindow[_]
    input.Body.reportingAttributionModel == enum_GoogleAnalyticsAdminV1alphaAttributionSettingsReportingAttributionModel[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.updateDataRetentionSettings

enum_GoogleAnalyticsAdminV1betaDataRetentionSettingsEventDataRetention := [ "RETENTION_DURATION_UNSPECIFIED", "TWO_MONTHS", "FOURTEEN_MONTHS", "TWENTY_SIX_MONTHS", "THIRTY_EIGHT_MONTHS", "FIFTY_MONTHS" ]

valid {
    input.Body.eventDataRetention == enum_GoogleAnalyticsAdminV1betaDataRetentionSettingsEventDataRetention[_]
    input.Body.resetUserDataOnNewActivity == BOOLEAN
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

analyticsadmin.properties.updateGoogleSignalsSettings

enum_GoogleAnalyticsAdminV1alphaGoogleSignalsSettingsState := [ "GOOGLE_SIGNALS_STATE_UNSPECIFIED", "GOOGLE_SIGNALS_ENABLED", "GOOGLE_SIGNALS_DISABLED" ]

valid {
    input.Body.state == enum_GoogleAnalyticsAdminV1alphaGoogleSignalsSettingsState[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}