python/services/monitoring/alert_policy.py (3,931 lines of code) (raw):
# Copyright 2021 Google LLC. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from connector import channel
from google3.cloud.graphite.mmv2.services.google.monitoring import alert_policy_pb2
from google3.cloud.graphite.mmv2.services.google.monitoring import alert_policy_pb2_grpc
from typing import List
class AlertPolicy(object):
def __init__(
self,
name: str = None,
display_name: str = None,
documentation: dict = None,
user_labels: dict = None,
conditions: list = None,
combiner: str = None,
disabled: bool = None,
enabled: dict = None,
validity: dict = None,
notification_channels: list = None,
creation_record: dict = None,
mutation_record: dict = None,
incident_strategy: dict = None,
metadata: dict = None,
project: str = None,
service_account_file: str = "",
):
channel.initialize()
self.name = name
self.display_name = display_name
self.documentation = documentation
self.user_labels = user_labels
self.conditions = conditions
self.combiner = combiner
self.disabled = disabled
self.enabled = enabled
self.validity = validity
self.notification_channels = notification_channels
self.creation_record = creation_record
self.mutation_record = mutation_record
self.incident_strategy = incident_strategy
self.metadata = metadata
self.project = project
self.service_account_file = service_account_file
def apply(self):
stub = alert_policy_pb2_grpc.MonitoringAlertPolicyServiceStub(channel.Channel())
request = alert_policy_pb2.ApplyMonitoringAlertPolicyRequest()
if Primitive.to_proto(self.name):
request.resource.name = Primitive.to_proto(self.name)
if Primitive.to_proto(self.display_name):
request.resource.display_name = Primitive.to_proto(self.display_name)
if AlertPolicyDocumentation.to_proto(self.documentation):
request.resource.documentation.CopyFrom(
AlertPolicyDocumentation.to_proto(self.documentation)
)
else:
request.resource.ClearField("documentation")
if Primitive.to_proto(self.user_labels):
request.resource.user_labels = Primitive.to_proto(self.user_labels)
if AlertPolicyConditionsArray.to_proto(self.conditions):
request.resource.conditions.extend(
AlertPolicyConditionsArray.to_proto(self.conditions)
)
if AlertPolicyCombinerEnum.to_proto(self.combiner):
request.resource.combiner = AlertPolicyCombinerEnum.to_proto(self.combiner)
if Primitive.to_proto(self.disabled):
request.resource.disabled = Primitive.to_proto(self.disabled)
if AlertPolicyEnabled.to_proto(self.enabled):
request.resource.enabled.CopyFrom(AlertPolicyEnabled.to_proto(self.enabled))
else:
request.resource.ClearField("enabled")
if AlertPolicyValidity.to_proto(self.validity):
request.resource.validity.CopyFrom(
AlertPolicyValidity.to_proto(self.validity)
)
else:
request.resource.ClearField("validity")
if Primitive.to_proto(self.notification_channels):
request.resource.notification_channels.extend(
Primitive.to_proto(self.notification_channels)
)
if AlertPolicyCreationRecord.to_proto(self.creation_record):
request.resource.creation_record.CopyFrom(
AlertPolicyCreationRecord.to_proto(self.creation_record)
)
else:
request.resource.ClearField("creation_record")
if AlertPolicyMutationRecord.to_proto(self.mutation_record):
request.resource.mutation_record.CopyFrom(
AlertPolicyMutationRecord.to_proto(self.mutation_record)
)
else:
request.resource.ClearField("mutation_record")
if AlertPolicyIncidentStrategy.to_proto(self.incident_strategy):
request.resource.incident_strategy.CopyFrom(
AlertPolicyIncidentStrategy.to_proto(self.incident_strategy)
)
else:
request.resource.ClearField("incident_strategy")
if AlertPolicyMetadata.to_proto(self.metadata):
request.resource.metadata.CopyFrom(
AlertPolicyMetadata.to_proto(self.metadata)
)
else:
request.resource.ClearField("metadata")
if Primitive.to_proto(self.project):
request.resource.project = Primitive.to_proto(self.project)
request.service_account_file = self.service_account_file
response = stub.ApplyMonitoringAlertPolicy(request)
self.name = Primitive.from_proto(response.name)
self.display_name = Primitive.from_proto(response.display_name)
self.documentation = AlertPolicyDocumentation.from_proto(response.documentation)
self.user_labels = Primitive.from_proto(response.user_labels)
self.conditions = AlertPolicyConditionsArray.from_proto(response.conditions)
self.combiner = AlertPolicyCombinerEnum.from_proto(response.combiner)
self.disabled = Primitive.from_proto(response.disabled)
self.enabled = AlertPolicyEnabled.from_proto(response.enabled)
self.validity = AlertPolicyValidity.from_proto(response.validity)
self.notification_channels = Primitive.from_proto(
response.notification_channels
)
self.creation_record = AlertPolicyCreationRecord.from_proto(
response.creation_record
)
self.mutation_record = AlertPolicyMutationRecord.from_proto(
response.mutation_record
)
self.incident_strategy = AlertPolicyIncidentStrategy.from_proto(
response.incident_strategy
)
self.metadata = AlertPolicyMetadata.from_proto(response.metadata)
self.project = Primitive.from_proto(response.project)
def delete(self):
stub = alert_policy_pb2_grpc.MonitoringAlertPolicyServiceStub(channel.Channel())
request = alert_policy_pb2.DeleteMonitoringAlertPolicyRequest()
request.service_account_file = self.service_account_file
if Primitive.to_proto(self.name):
request.resource.name = Primitive.to_proto(self.name)
if Primitive.to_proto(self.display_name):
request.resource.display_name = Primitive.to_proto(self.display_name)
if AlertPolicyDocumentation.to_proto(self.documentation):
request.resource.documentation.CopyFrom(
AlertPolicyDocumentation.to_proto(self.documentation)
)
else:
request.resource.ClearField("documentation")
if Primitive.to_proto(self.user_labels):
request.resource.user_labels = Primitive.to_proto(self.user_labels)
if AlertPolicyConditionsArray.to_proto(self.conditions):
request.resource.conditions.extend(
AlertPolicyConditionsArray.to_proto(self.conditions)
)
if AlertPolicyCombinerEnum.to_proto(self.combiner):
request.resource.combiner = AlertPolicyCombinerEnum.to_proto(self.combiner)
if Primitive.to_proto(self.disabled):
request.resource.disabled = Primitive.to_proto(self.disabled)
if AlertPolicyEnabled.to_proto(self.enabled):
request.resource.enabled.CopyFrom(AlertPolicyEnabled.to_proto(self.enabled))
else:
request.resource.ClearField("enabled")
if AlertPolicyValidity.to_proto(self.validity):
request.resource.validity.CopyFrom(
AlertPolicyValidity.to_proto(self.validity)
)
else:
request.resource.ClearField("validity")
if Primitive.to_proto(self.notification_channels):
request.resource.notification_channels.extend(
Primitive.to_proto(self.notification_channels)
)
if AlertPolicyCreationRecord.to_proto(self.creation_record):
request.resource.creation_record.CopyFrom(
AlertPolicyCreationRecord.to_proto(self.creation_record)
)
else:
request.resource.ClearField("creation_record")
if AlertPolicyMutationRecord.to_proto(self.mutation_record):
request.resource.mutation_record.CopyFrom(
AlertPolicyMutationRecord.to_proto(self.mutation_record)
)
else:
request.resource.ClearField("mutation_record")
if AlertPolicyIncidentStrategy.to_proto(self.incident_strategy):
request.resource.incident_strategy.CopyFrom(
AlertPolicyIncidentStrategy.to_proto(self.incident_strategy)
)
else:
request.resource.ClearField("incident_strategy")
if AlertPolicyMetadata.to_proto(self.metadata):
request.resource.metadata.CopyFrom(
AlertPolicyMetadata.to_proto(self.metadata)
)
else:
request.resource.ClearField("metadata")
if Primitive.to_proto(self.project):
request.resource.project = Primitive.to_proto(self.project)
response = stub.DeleteMonitoringAlertPolicy(request)
@classmethod
def list(self, project, service_account_file=""):
stub = alert_policy_pb2_grpc.MonitoringAlertPolicyServiceStub(channel.Channel())
request = alert_policy_pb2.ListMonitoringAlertPolicyRequest()
request.service_account_file = service_account_file
request.Project = project
return stub.ListMonitoringAlertPolicy(request).items
def to_proto(self):
resource = alert_policy_pb2.MonitoringAlertPolicy()
if Primitive.to_proto(self.name):
resource.name = Primitive.to_proto(self.name)
if Primitive.to_proto(self.display_name):
resource.display_name = Primitive.to_proto(self.display_name)
if AlertPolicyDocumentation.to_proto(self.documentation):
resource.documentation.CopyFrom(
AlertPolicyDocumentation.to_proto(self.documentation)
)
else:
resource.ClearField("documentation")
if Primitive.to_proto(self.user_labels):
resource.user_labels = Primitive.to_proto(self.user_labels)
if AlertPolicyConditionsArray.to_proto(self.conditions):
resource.conditions.extend(
AlertPolicyConditionsArray.to_proto(self.conditions)
)
if AlertPolicyCombinerEnum.to_proto(self.combiner):
resource.combiner = AlertPolicyCombinerEnum.to_proto(self.combiner)
if Primitive.to_proto(self.disabled):
resource.disabled = Primitive.to_proto(self.disabled)
if AlertPolicyEnabled.to_proto(self.enabled):
resource.enabled.CopyFrom(AlertPolicyEnabled.to_proto(self.enabled))
else:
resource.ClearField("enabled")
if AlertPolicyValidity.to_proto(self.validity):
resource.validity.CopyFrom(AlertPolicyValidity.to_proto(self.validity))
else:
resource.ClearField("validity")
if Primitive.to_proto(self.notification_channels):
resource.notification_channels.extend(
Primitive.to_proto(self.notification_channels)
)
if AlertPolicyCreationRecord.to_proto(self.creation_record):
resource.creation_record.CopyFrom(
AlertPolicyCreationRecord.to_proto(self.creation_record)
)
else:
resource.ClearField("creation_record")
if AlertPolicyMutationRecord.to_proto(self.mutation_record):
resource.mutation_record.CopyFrom(
AlertPolicyMutationRecord.to_proto(self.mutation_record)
)
else:
resource.ClearField("mutation_record")
if AlertPolicyIncidentStrategy.to_proto(self.incident_strategy):
resource.incident_strategy.CopyFrom(
AlertPolicyIncidentStrategy.to_proto(self.incident_strategy)
)
else:
resource.ClearField("incident_strategy")
if AlertPolicyMetadata.to_proto(self.metadata):
resource.metadata.CopyFrom(AlertPolicyMetadata.to_proto(self.metadata))
else:
resource.ClearField("metadata")
if Primitive.to_proto(self.project):
resource.project = Primitive.to_proto(self.project)
return resource
class AlertPolicyDocumentation(object):
def __init__(self, content: str = None, mime_type: str = None):
self.content = content
self.mime_type = mime_type
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyDocumentation()
if Primitive.to_proto(resource.content):
res.content = Primitive.to_proto(resource.content)
if Primitive.to_proto(resource.mime_type):
res.mime_type = Primitive.to_proto(resource.mime_type)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyDocumentation(
content=Primitive.from_proto(resource.content),
mime_type=Primitive.from_proto(resource.mime_type),
)
class AlertPolicyDocumentationArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyDocumentation.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyDocumentation.from_proto(i) for i in resources]
class AlertPolicyConditions(object):
def __init__(
self,
name: str = None,
display_name: str = None,
resource_state_filter: str = None,
condition_threshold: dict = None,
condition_absent: dict = None,
condition_matched_log: dict = None,
condition_cluster_outlier: dict = None,
condition_rate: dict = None,
condition_up_mon: dict = None,
condition_process_count: dict = None,
condition_time_series_query_language: dict = None,
condition_monitoring_query_language: dict = None,
):
self.name = name
self.display_name = display_name
self.resource_state_filter = resource_state_filter
self.condition_threshold = condition_threshold
self.condition_absent = condition_absent
self.condition_matched_log = condition_matched_log
self.condition_cluster_outlier = condition_cluster_outlier
self.condition_rate = condition_rate
self.condition_up_mon = condition_up_mon
self.condition_process_count = condition_process_count
self.condition_time_series_query_language = condition_time_series_query_language
self.condition_monitoring_query_language = condition_monitoring_query_language
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditions()
if Primitive.to_proto(resource.name):
res.name = Primitive.to_proto(resource.name)
if Primitive.to_proto(resource.display_name):
res.display_name = Primitive.to_proto(resource.display_name)
if AlertPolicyConditionsResourceStateFilterEnum.to_proto(
resource.resource_state_filter
):
res.resource_state_filter = AlertPolicyConditionsResourceStateFilterEnum.to_proto(
resource.resource_state_filter
)
if AlertPolicyConditionsConditionThreshold.to_proto(
resource.condition_threshold
):
res.condition_threshold.CopyFrom(
AlertPolicyConditionsConditionThreshold.to_proto(
resource.condition_threshold
)
)
else:
res.ClearField("condition_threshold")
if AlertPolicyConditionsConditionAbsent.to_proto(resource.condition_absent):
res.condition_absent.CopyFrom(
AlertPolicyConditionsConditionAbsent.to_proto(resource.condition_absent)
)
else:
res.ClearField("condition_absent")
if AlertPolicyConditionsConditionMatchedLog.to_proto(
resource.condition_matched_log
):
res.condition_matched_log.CopyFrom(
AlertPolicyConditionsConditionMatchedLog.to_proto(
resource.condition_matched_log
)
)
else:
res.ClearField("condition_matched_log")
if AlertPolicyConditionsConditionClusterOutlier.to_proto(
resource.condition_cluster_outlier
):
res.condition_cluster_outlier.CopyFrom(
AlertPolicyConditionsConditionClusterOutlier.to_proto(
resource.condition_cluster_outlier
)
)
else:
res.ClearField("condition_cluster_outlier")
if AlertPolicyConditionsConditionRate.to_proto(resource.condition_rate):
res.condition_rate.CopyFrom(
AlertPolicyConditionsConditionRate.to_proto(resource.condition_rate)
)
else:
res.ClearField("condition_rate")
if AlertPolicyConditionsConditionUpMon.to_proto(resource.condition_up_mon):
res.condition_up_mon.CopyFrom(
AlertPolicyConditionsConditionUpMon.to_proto(resource.condition_up_mon)
)
else:
res.ClearField("condition_up_mon")
if AlertPolicyConditionsConditionProcessCount.to_proto(
resource.condition_process_count
):
res.condition_process_count.CopyFrom(
AlertPolicyConditionsConditionProcessCount.to_proto(
resource.condition_process_count
)
)
else:
res.ClearField("condition_process_count")
if AlertPolicyConditionsConditionTimeSeriesQueryLanguage.to_proto(
resource.condition_time_series_query_language
):
res.condition_time_series_query_language.CopyFrom(
AlertPolicyConditionsConditionTimeSeriesQueryLanguage.to_proto(
resource.condition_time_series_query_language
)
)
else:
res.ClearField("condition_time_series_query_language")
if AlertPolicyConditionsConditionMonitoringQueryLanguage.to_proto(
resource.condition_monitoring_query_language
):
res.condition_monitoring_query_language.CopyFrom(
AlertPolicyConditionsConditionMonitoringQueryLanguage.to_proto(
resource.condition_monitoring_query_language
)
)
else:
res.ClearField("condition_monitoring_query_language")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditions(
name=Primitive.from_proto(resource.name),
display_name=Primitive.from_proto(resource.display_name),
resource_state_filter=AlertPolicyConditionsResourceStateFilterEnum.from_proto(
resource.resource_state_filter
),
condition_threshold=AlertPolicyConditionsConditionThreshold.from_proto(
resource.condition_threshold
),
condition_absent=AlertPolicyConditionsConditionAbsent.from_proto(
resource.condition_absent
),
condition_matched_log=AlertPolicyConditionsConditionMatchedLog.from_proto(
resource.condition_matched_log
),
condition_cluster_outlier=AlertPolicyConditionsConditionClusterOutlier.from_proto(
resource.condition_cluster_outlier
),
condition_rate=AlertPolicyConditionsConditionRate.from_proto(
resource.condition_rate
),
condition_up_mon=AlertPolicyConditionsConditionUpMon.from_proto(
resource.condition_up_mon
),
condition_process_count=AlertPolicyConditionsConditionProcessCount.from_proto(
resource.condition_process_count
),
condition_time_series_query_language=AlertPolicyConditionsConditionTimeSeriesQueryLanguage.from_proto(
resource.condition_time_series_query_language
),
condition_monitoring_query_language=AlertPolicyConditionsConditionMonitoringQueryLanguage.from_proto(
resource.condition_monitoring_query_language
),
)
class AlertPolicyConditionsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyConditions.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyConditions.from_proto(i) for i in resources]
class AlertPolicyConditionsConditionThreshold(object):
def __init__(
self,
filter: str = None,
aggregations: list = None,
denominator_filter: str = None,
denominator_aggregations: list = None,
comparison: str = None,
threshold_value: float = None,
duration: str = None,
trigger: dict = None,
):
self.filter = filter
self.aggregations = aggregations
self.denominator_filter = denominator_filter
self.denominator_aggregations = denominator_aggregations
self.comparison = comparison
self.threshold_value = threshold_value
self.duration = duration
self.trigger = trigger
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThreshold()
if Primitive.to_proto(resource.filter):
res.filter = Primitive.to_proto(resource.filter)
if AlertPolicyConditionsConditionThresholdAggregationsArray.to_proto(
resource.aggregations
):
res.aggregations.extend(
AlertPolicyConditionsConditionThresholdAggregationsArray.to_proto(
resource.aggregations
)
)
if Primitive.to_proto(resource.denominator_filter):
res.denominator_filter = Primitive.to_proto(resource.denominator_filter)
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsArray.to_proto(
resource.denominator_aggregations
):
res.denominator_aggregations.extend(
AlertPolicyConditionsConditionThresholdDenominatorAggregationsArray.to_proto(
resource.denominator_aggregations
)
)
if AlertPolicyConditionsConditionThresholdComparisonEnum.to_proto(
resource.comparison
):
res.comparison = AlertPolicyConditionsConditionThresholdComparisonEnum.to_proto(
resource.comparison
)
if Primitive.to_proto(resource.threshold_value):
res.threshold_value = Primitive.to_proto(resource.threshold_value)
if Primitive.to_proto(resource.duration):
res.duration = Primitive.to_proto(resource.duration)
if AlertPolicyConditionsConditionThresholdTrigger.to_proto(resource.trigger):
res.trigger.CopyFrom(
AlertPolicyConditionsConditionThresholdTrigger.to_proto(
resource.trigger
)
)
else:
res.ClearField("trigger")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThreshold(
filter=Primitive.from_proto(resource.filter),
aggregations=AlertPolicyConditionsConditionThresholdAggregationsArray.from_proto(
resource.aggregations
),
denominator_filter=Primitive.from_proto(resource.denominator_filter),
denominator_aggregations=AlertPolicyConditionsConditionThresholdDenominatorAggregationsArray.from_proto(
resource.denominator_aggregations
),
comparison=AlertPolicyConditionsConditionThresholdComparisonEnum.from_proto(
resource.comparison
),
threshold_value=Primitive.from_proto(resource.threshold_value),
duration=Primitive.from_proto(resource.duration),
trigger=AlertPolicyConditionsConditionThresholdTrigger.from_proto(
resource.trigger
),
)
class AlertPolicyConditionsConditionThresholdArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyConditionsConditionThreshold.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThreshold.from_proto(i) for i in resources
]
class AlertPolicyConditionsConditionThresholdAggregations(object):
def __init__(
self,
alignment_period: str = None,
per_series_aligner: str = None,
cross_series_reducer: str = None,
group_by_fields: list = None,
reduce_fraction_less_than_params: dict = None,
reduce_make_distribution_params: dict = None,
):
self.alignment_period = alignment_period
self.per_series_aligner = per_series_aligner
self.cross_series_reducer = cross_series_reducer
self.group_by_fields = group_by_fields
self.reduce_fraction_less_than_params = reduce_fraction_less_than_params
self.reduce_make_distribution_params = reduce_make_distribution_params
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregations()
)
if Primitive.to_proto(resource.alignment_period):
res.alignment_period = Primitive.to_proto(resource.alignment_period)
if AlertPolicyConditionsConditionThresholdAggregationsPerSeriesAlignerEnum.to_proto(
resource.per_series_aligner
):
res.per_series_aligner = AlertPolicyConditionsConditionThresholdAggregationsPerSeriesAlignerEnum.to_proto(
resource.per_series_aligner
)
if AlertPolicyConditionsConditionThresholdAggregationsCrossSeriesReducerEnum.to_proto(
resource.cross_series_reducer
):
res.cross_series_reducer = AlertPolicyConditionsConditionThresholdAggregationsCrossSeriesReducerEnum.to_proto(
resource.cross_series_reducer
)
if Primitive.to_proto(resource.group_by_fields):
res.group_by_fields.extend(Primitive.to_proto(resource.group_by_fields))
if AlertPolicyConditionsConditionThresholdAggregationsReduceFractionLessThanParams.to_proto(
resource.reduce_fraction_less_than_params
):
res.reduce_fraction_less_than_params.CopyFrom(
AlertPolicyConditionsConditionThresholdAggregationsReduceFractionLessThanParams.to_proto(
resource.reduce_fraction_less_than_params
)
)
else:
res.ClearField("reduce_fraction_less_than_params")
if AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParams.to_proto(
resource.reduce_make_distribution_params
):
res.reduce_make_distribution_params.CopyFrom(
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParams.to_proto(
resource.reduce_make_distribution_params
)
)
else:
res.ClearField("reduce_make_distribution_params")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdAggregations(
alignment_period=Primitive.from_proto(resource.alignment_period),
per_series_aligner=AlertPolicyConditionsConditionThresholdAggregationsPerSeriesAlignerEnum.from_proto(
resource.per_series_aligner
),
cross_series_reducer=AlertPolicyConditionsConditionThresholdAggregationsCrossSeriesReducerEnum.from_proto(
resource.cross_series_reducer
),
group_by_fields=Primitive.from_proto(resource.group_by_fields),
reduce_fraction_less_than_params=AlertPolicyConditionsConditionThresholdAggregationsReduceFractionLessThanParams.from_proto(
resource.reduce_fraction_less_than_params
),
reduce_make_distribution_params=AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParams.from_proto(
resource.reduce_make_distribution_params
),
)
class AlertPolicyConditionsConditionThresholdAggregationsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdAggregations.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdAggregations.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionThresholdAggregationsReduceFractionLessThanParams(
object
):
def __init__(self, threshold: float = None):
self.threshold = threshold
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsReduceFractionLessThanParams()
)
if Primitive.to_proto(resource.threshold):
res.threshold = Primitive.to_proto(resource.threshold)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdAggregationsReduceFractionLessThanParams(
threshold=Primitive.from_proto(resource.threshold),
)
class AlertPolicyConditionsConditionThresholdAggregationsReduceFractionLessThanParamsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceFractionLessThanParams.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceFractionLessThanParams.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParams(
object
):
def __init__(self, bucket_options: dict = None, exemplar_sampling: dict = None):
self.bucket_options = bucket_options
self.exemplar_sampling = exemplar_sampling
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParams()
)
if AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
resource.bucket_options
):
res.bucket_options.CopyFrom(
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
resource.bucket_options
)
)
else:
res.ClearField("bucket_options")
if AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
resource.exemplar_sampling
):
res.exemplar_sampling.CopyFrom(
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
resource.exemplar_sampling
)
)
else:
res.ClearField("exemplar_sampling")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParams(
bucket_options=AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptions.from_proto(
resource.bucket_options
),
exemplar_sampling=AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsExemplarSampling.from_proto(
resource.exemplar_sampling
),
)
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParams.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParams.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptions(
object
):
def __init__(
self,
linear_buckets: dict = None,
exponential_buckets: dict = None,
explicit_buckets: dict = None,
):
self.linear_buckets = linear_buckets
self.exponential_buckets = exponential_buckets
self.explicit_buckets = explicit_buckets
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptions()
)
if AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
resource.linear_buckets
):
res.linear_buckets.CopyFrom(
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
resource.linear_buckets
)
)
else:
res.ClearField("linear_buckets")
if AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
resource.exponential_buckets
):
res.exponential_buckets.CopyFrom(
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
resource.exponential_buckets
)
)
else:
res.ClearField("exponential_buckets")
if AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
resource.explicit_buckets
):
res.explicit_buckets.CopyFrom(
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
resource.explicit_buckets
)
)
else:
res.ClearField("explicit_buckets")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptions(
linear_buckets=AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.from_proto(
resource.linear_buckets
),
exponential_buckets=AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.from_proto(
resource.exponential_buckets
),
explicit_buckets=AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.from_proto(
resource.explicit_buckets
),
)
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptions.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets(
object
):
def __init__(
self, num_finite_buckets: int = None, width: float = None, offset: float = None
):
self.num_finite_buckets = num_finite_buckets
self.width = width
self.offset = offset
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets()
)
if Primitive.to_proto(resource.num_finite_buckets):
res.num_finite_buckets = Primitive.to_proto(resource.num_finite_buckets)
if Primitive.to_proto(resource.width):
res.width = Primitive.to_proto(resource.width)
if Primitive.to_proto(resource.offset):
res.offset = Primitive.to_proto(resource.offset)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets(
num_finite_buckets=Primitive.from_proto(resource.num_finite_buckets),
width=Primitive.from_proto(resource.width),
offset=Primitive.from_proto(resource.offset),
)
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsLinearBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets(
object
):
def __init__(
self,
num_finite_buckets: int = None,
growth_factor: float = None,
scale: float = None,
):
self.num_finite_buckets = num_finite_buckets
self.growth_factor = growth_factor
self.scale = scale
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets()
)
if Primitive.to_proto(resource.num_finite_buckets):
res.num_finite_buckets = Primitive.to_proto(resource.num_finite_buckets)
if Primitive.to_proto(resource.growth_factor):
res.growth_factor = Primitive.to_proto(resource.growth_factor)
if Primitive.to_proto(resource.scale):
res.scale = Primitive.to_proto(resource.scale)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets(
num_finite_buckets=Primitive.from_proto(resource.num_finite_buckets),
growth_factor=Primitive.from_proto(resource.growth_factor),
scale=Primitive.from_proto(resource.scale),
)
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets(
object
):
def __init__(self, bounds: list = None):
self.bounds = bounds
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets()
)
if float64Array.to_proto(resource.bounds):
res.bounds.extend(float64Array.to_proto(resource.bounds))
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets(
bounds=float64Array.from_proto(resource.bounds),
)
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsExemplarSampling(
object
):
def __init__(self, minimum_value: float = None):
self.minimum_value = minimum_value
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsExemplarSampling()
)
if Primitive.to_proto(resource.minimum_value):
res.minimum_value = Primitive.to_proto(resource.minimum_value)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsExemplarSampling(
minimum_value=Primitive.from_proto(resource.minimum_value),
)
class AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsExemplarSamplingArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdAggregationsReduceMakeDistributionParamsExemplarSampling.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregations(object):
def __init__(
self,
alignment_period: str = None,
per_series_aligner: str = None,
cross_series_reducer: str = None,
group_by_fields: list = None,
reduce_fraction_less_than_params: dict = None,
reduce_make_distribution_params: dict = None,
):
self.alignment_period = alignment_period
self.per_series_aligner = per_series_aligner
self.cross_series_reducer = cross_series_reducer
self.group_by_fields = group_by_fields
self.reduce_fraction_less_than_params = reduce_fraction_less_than_params
self.reduce_make_distribution_params = reduce_make_distribution_params
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregations()
)
if Primitive.to_proto(resource.alignment_period):
res.alignment_period = Primitive.to_proto(resource.alignment_period)
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsPerSeriesAlignerEnum.to_proto(
resource.per_series_aligner
):
res.per_series_aligner = AlertPolicyConditionsConditionThresholdDenominatorAggregationsPerSeriesAlignerEnum.to_proto(
resource.per_series_aligner
)
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsCrossSeriesReducerEnum.to_proto(
resource.cross_series_reducer
):
res.cross_series_reducer = AlertPolicyConditionsConditionThresholdDenominatorAggregationsCrossSeriesReducerEnum.to_proto(
resource.cross_series_reducer
)
if Primitive.to_proto(resource.group_by_fields):
res.group_by_fields.extend(Primitive.to_proto(resource.group_by_fields))
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceFractionLessThanParams.to_proto(
resource.reduce_fraction_less_than_params
):
res.reduce_fraction_less_than_params.CopyFrom(
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceFractionLessThanParams.to_proto(
resource.reduce_fraction_less_than_params
)
)
else:
res.ClearField("reduce_fraction_less_than_params")
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParams.to_proto(
resource.reduce_make_distribution_params
):
res.reduce_make_distribution_params.CopyFrom(
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParams.to_proto(
resource.reduce_make_distribution_params
)
)
else:
res.ClearField("reduce_make_distribution_params")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdDenominatorAggregations(
alignment_period=Primitive.from_proto(resource.alignment_period),
per_series_aligner=AlertPolicyConditionsConditionThresholdDenominatorAggregationsPerSeriesAlignerEnum.from_proto(
resource.per_series_aligner
),
cross_series_reducer=AlertPolicyConditionsConditionThresholdDenominatorAggregationsCrossSeriesReducerEnum.from_proto(
resource.cross_series_reducer
),
group_by_fields=Primitive.from_proto(resource.group_by_fields),
reduce_fraction_less_than_params=AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceFractionLessThanParams.from_proto(
resource.reduce_fraction_less_than_params
),
reduce_make_distribution_params=AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParams.from_proto(
resource.reduce_make_distribution_params
),
)
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregations.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregations.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceFractionLessThanParams(
object
):
def __init__(self, threshold: float = None):
self.threshold = threshold
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceFractionLessThanParams()
)
if Primitive.to_proto(resource.threshold):
res.threshold = Primitive.to_proto(resource.threshold)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceFractionLessThanParams(
threshold=Primitive.from_proto(resource.threshold),
)
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceFractionLessThanParamsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceFractionLessThanParams.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceFractionLessThanParams.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParams(
object
):
def __init__(self, bucket_options: dict = None, exemplar_sampling: dict = None):
self.bucket_options = bucket_options
self.exemplar_sampling = exemplar_sampling
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParams()
)
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
resource.bucket_options
):
res.bucket_options.CopyFrom(
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
resource.bucket_options
)
)
else:
res.ClearField("bucket_options")
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
resource.exemplar_sampling
):
res.exemplar_sampling.CopyFrom(
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
resource.exemplar_sampling
)
)
else:
res.ClearField("exemplar_sampling")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParams(
bucket_options=AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptions.from_proto(
resource.bucket_options
),
exemplar_sampling=AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsExemplarSampling.from_proto(
resource.exemplar_sampling
),
)
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParams.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParams.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptions(
object
):
def __init__(
self,
linear_buckets: dict = None,
exponential_buckets: dict = None,
explicit_buckets: dict = None,
):
self.linear_buckets = linear_buckets
self.exponential_buckets = exponential_buckets
self.explicit_buckets = explicit_buckets
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptions()
)
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
resource.linear_buckets
):
res.linear_buckets.CopyFrom(
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
resource.linear_buckets
)
)
else:
res.ClearField("linear_buckets")
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
resource.exponential_buckets
):
res.exponential_buckets.CopyFrom(
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
resource.exponential_buckets
)
)
else:
res.ClearField("exponential_buckets")
if AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
resource.explicit_buckets
):
res.explicit_buckets.CopyFrom(
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
resource.explicit_buckets
)
)
else:
res.ClearField("explicit_buckets")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptions(
linear_buckets=AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.from_proto(
resource.linear_buckets
),
exponential_buckets=AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.from_proto(
resource.exponential_buckets
),
explicit_buckets=AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.from_proto(
resource.explicit_buckets
),
)
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptions.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets(
object
):
def __init__(
self, num_finite_buckets: int = None, width: float = None, offset: float = None
):
self.num_finite_buckets = num_finite_buckets
self.width = width
self.offset = offset
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets()
)
if Primitive.to_proto(resource.num_finite_buckets):
res.num_finite_buckets = Primitive.to_proto(resource.num_finite_buckets)
if Primitive.to_proto(resource.width):
res.width = Primitive.to_proto(resource.width)
if Primitive.to_proto(resource.offset):
res.offset = Primitive.to_proto(resource.offset)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets(
num_finite_buckets=Primitive.from_proto(resource.num_finite_buckets),
width=Primitive.from_proto(resource.width),
offset=Primitive.from_proto(resource.offset),
)
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsLinearBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets(
object
):
def __init__(
self,
num_finite_buckets: int = None,
growth_factor: float = None,
scale: float = None,
):
self.num_finite_buckets = num_finite_buckets
self.growth_factor = growth_factor
self.scale = scale
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets()
)
if Primitive.to_proto(resource.num_finite_buckets):
res.num_finite_buckets = Primitive.to_proto(resource.num_finite_buckets)
if Primitive.to_proto(resource.growth_factor):
res.growth_factor = Primitive.to_proto(resource.growth_factor)
if Primitive.to_proto(resource.scale):
res.scale = Primitive.to_proto(resource.scale)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets(
num_finite_buckets=Primitive.from_proto(resource.num_finite_buckets),
growth_factor=Primitive.from_proto(resource.growth_factor),
scale=Primitive.from_proto(resource.scale),
)
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets(
object
):
def __init__(self, bounds: list = None):
self.bounds = bounds
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets()
)
if float64Array.to_proto(resource.bounds):
res.bounds.extend(float64Array.to_proto(resource.bounds))
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets(
bounds=float64Array.from_proto(resource.bounds),
)
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsExemplarSampling(
object
):
def __init__(self, minimum_value: float = None):
self.minimum_value = minimum_value
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsExemplarSampling()
)
if Primitive.to_proto(resource.minimum_value):
res.minimum_value = Primitive.to_proto(resource.minimum_value)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsExemplarSampling(
minimum_value=Primitive.from_proto(resource.minimum_value),
)
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsExemplarSamplingArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdDenominatorAggregationsReduceMakeDistributionParamsExemplarSampling.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionThresholdTrigger(object):
def __init__(self, count: int = None, percent: float = None):
self.count = count
self.percent = percent
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdTrigger()
)
if Primitive.to_proto(resource.count):
res.count = Primitive.to_proto(resource.count)
if Primitive.to_proto(resource.percent):
res.percent = Primitive.to_proto(resource.percent)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionThresholdTrigger(
count=Primitive.from_proto(resource.count),
percent=Primitive.from_proto(resource.percent),
)
class AlertPolicyConditionsConditionThresholdTriggerArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionThresholdTrigger.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionThresholdTrigger.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionAbsent(object):
def __init__(
self,
filter: str = None,
aggregations: list = None,
duration: dict = None,
trigger: dict = None,
):
self.filter = filter
self.aggregations = aggregations
self.duration = duration
self.trigger = trigger
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsent()
if Primitive.to_proto(resource.filter):
res.filter = Primitive.to_proto(resource.filter)
if AlertPolicyConditionsConditionAbsentAggregationsArray.to_proto(
resource.aggregations
):
res.aggregations.extend(
AlertPolicyConditionsConditionAbsentAggregationsArray.to_proto(
resource.aggregations
)
)
if AlertPolicyConditionsConditionAbsentDuration.to_proto(resource.duration):
res.duration.CopyFrom(
AlertPolicyConditionsConditionAbsentDuration.to_proto(resource.duration)
)
else:
res.ClearField("duration")
if AlertPolicyConditionsConditionAbsentTrigger.to_proto(resource.trigger):
res.trigger.CopyFrom(
AlertPolicyConditionsConditionAbsentTrigger.to_proto(resource.trigger)
)
else:
res.ClearField("trigger")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsent(
filter=Primitive.from_proto(resource.filter),
aggregations=AlertPolicyConditionsConditionAbsentAggregationsArray.from_proto(
resource.aggregations
),
duration=AlertPolicyConditionsConditionAbsentDuration.from_proto(
resource.duration
),
trigger=AlertPolicyConditionsConditionAbsentTrigger.from_proto(
resource.trigger
),
)
class AlertPolicyConditionsConditionAbsentArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyConditionsConditionAbsent.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyConditionsConditionAbsent.from_proto(i) for i in resources]
class AlertPolicyConditionsConditionAbsentAggregations(object):
def __init__(
self,
alignment_period: str = None,
per_series_aligner: str = None,
cross_series_reducer: str = None,
group_by_fields: list = None,
reduce_fraction_less_than_params: dict = None,
reduce_make_distribution_params: dict = None,
):
self.alignment_period = alignment_period
self.per_series_aligner = per_series_aligner
self.cross_series_reducer = cross_series_reducer
self.group_by_fields = group_by_fields
self.reduce_fraction_less_than_params = reduce_fraction_less_than_params
self.reduce_make_distribution_params = reduce_make_distribution_params
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregations()
)
if Primitive.to_proto(resource.alignment_period):
res.alignment_period = Primitive.to_proto(resource.alignment_period)
if AlertPolicyConditionsConditionAbsentAggregationsPerSeriesAlignerEnum.to_proto(
resource.per_series_aligner
):
res.per_series_aligner = AlertPolicyConditionsConditionAbsentAggregationsPerSeriesAlignerEnum.to_proto(
resource.per_series_aligner
)
if AlertPolicyConditionsConditionAbsentAggregationsCrossSeriesReducerEnum.to_proto(
resource.cross_series_reducer
):
res.cross_series_reducer = AlertPolicyConditionsConditionAbsentAggregationsCrossSeriesReducerEnum.to_proto(
resource.cross_series_reducer
)
if Primitive.to_proto(resource.group_by_fields):
res.group_by_fields.extend(Primitive.to_proto(resource.group_by_fields))
if AlertPolicyConditionsConditionAbsentAggregationsReduceFractionLessThanParams.to_proto(
resource.reduce_fraction_less_than_params
):
res.reduce_fraction_less_than_params.CopyFrom(
AlertPolicyConditionsConditionAbsentAggregationsReduceFractionLessThanParams.to_proto(
resource.reduce_fraction_less_than_params
)
)
else:
res.ClearField("reduce_fraction_less_than_params")
if AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParams.to_proto(
resource.reduce_make_distribution_params
):
res.reduce_make_distribution_params.CopyFrom(
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParams.to_proto(
resource.reduce_make_distribution_params
)
)
else:
res.ClearField("reduce_make_distribution_params")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentAggregations(
alignment_period=Primitive.from_proto(resource.alignment_period),
per_series_aligner=AlertPolicyConditionsConditionAbsentAggregationsPerSeriesAlignerEnum.from_proto(
resource.per_series_aligner
),
cross_series_reducer=AlertPolicyConditionsConditionAbsentAggregationsCrossSeriesReducerEnum.from_proto(
resource.cross_series_reducer
),
group_by_fields=Primitive.from_proto(resource.group_by_fields),
reduce_fraction_less_than_params=AlertPolicyConditionsConditionAbsentAggregationsReduceFractionLessThanParams.from_proto(
resource.reduce_fraction_less_than_params
),
reduce_make_distribution_params=AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParams.from_proto(
resource.reduce_make_distribution_params
),
)
class AlertPolicyConditionsConditionAbsentAggregationsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentAggregations.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentAggregations.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionAbsentAggregationsReduceFractionLessThanParams(
object
):
def __init__(self, threshold: float = None):
self.threshold = threshold
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsReduceFractionLessThanParams()
)
if Primitive.to_proto(resource.threshold):
res.threshold = Primitive.to_proto(resource.threshold)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentAggregationsReduceFractionLessThanParams(
threshold=Primitive.from_proto(resource.threshold),
)
class AlertPolicyConditionsConditionAbsentAggregationsReduceFractionLessThanParamsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceFractionLessThanParams.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceFractionLessThanParams.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParams(
object
):
def __init__(self, bucket_options: dict = None, exemplar_sampling: dict = None):
self.bucket_options = bucket_options
self.exemplar_sampling = exemplar_sampling
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParams()
)
if AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
resource.bucket_options
):
res.bucket_options.CopyFrom(
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
resource.bucket_options
)
)
else:
res.ClearField("bucket_options")
if AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
resource.exemplar_sampling
):
res.exemplar_sampling.CopyFrom(
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
resource.exemplar_sampling
)
)
else:
res.ClearField("exemplar_sampling")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParams(
bucket_options=AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptions.from_proto(
resource.bucket_options
),
exemplar_sampling=AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsExemplarSampling.from_proto(
resource.exemplar_sampling
),
)
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParams.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParams.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptions(
object
):
def __init__(
self,
linear_buckets: dict = None,
exponential_buckets: dict = None,
explicit_buckets: dict = None,
):
self.linear_buckets = linear_buckets
self.exponential_buckets = exponential_buckets
self.explicit_buckets = explicit_buckets
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptions()
)
if AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
resource.linear_buckets
):
res.linear_buckets.CopyFrom(
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
resource.linear_buckets
)
)
else:
res.ClearField("linear_buckets")
if AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
resource.exponential_buckets
):
res.exponential_buckets.CopyFrom(
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
resource.exponential_buckets
)
)
else:
res.ClearField("exponential_buckets")
if AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
resource.explicit_buckets
):
res.explicit_buckets.CopyFrom(
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
resource.explicit_buckets
)
)
else:
res.ClearField("explicit_buckets")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptions(
linear_buckets=AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.from_proto(
resource.linear_buckets
),
exponential_buckets=AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.from_proto(
resource.exponential_buckets
),
explicit_buckets=AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.from_proto(
resource.explicit_buckets
),
)
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptions.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets(
object
):
def __init__(
self, num_finite_buckets: int = None, width: float = None, offset: float = None
):
self.num_finite_buckets = num_finite_buckets
self.width = width
self.offset = offset
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets()
)
if Primitive.to_proto(resource.num_finite_buckets):
res.num_finite_buckets = Primitive.to_proto(resource.num_finite_buckets)
if Primitive.to_proto(resource.width):
res.width = Primitive.to_proto(resource.width)
if Primitive.to_proto(resource.offset):
res.offset = Primitive.to_proto(resource.offset)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets(
num_finite_buckets=Primitive.from_proto(resource.num_finite_buckets),
width=Primitive.from_proto(resource.width),
offset=Primitive.from_proto(resource.offset),
)
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsLinearBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets(
object
):
def __init__(
self,
num_finite_buckets: int = None,
growth_factor: float = None,
scale: float = None,
):
self.num_finite_buckets = num_finite_buckets
self.growth_factor = growth_factor
self.scale = scale
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets()
)
if Primitive.to_proto(resource.num_finite_buckets):
res.num_finite_buckets = Primitive.to_proto(resource.num_finite_buckets)
if Primitive.to_proto(resource.growth_factor):
res.growth_factor = Primitive.to_proto(resource.growth_factor)
if Primitive.to_proto(resource.scale):
res.scale = Primitive.to_proto(resource.scale)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets(
num_finite_buckets=Primitive.from_proto(resource.num_finite_buckets),
growth_factor=Primitive.from_proto(resource.growth_factor),
scale=Primitive.from_proto(resource.scale),
)
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets(
object
):
def __init__(self, bounds: list = None):
self.bounds = bounds
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets()
)
if float64Array.to_proto(resource.bounds):
res.bounds.extend(float64Array.to_proto(resource.bounds))
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets(
bounds=float64Array.from_proto(resource.bounds),
)
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsExemplarSampling(
object
):
def __init__(self, minimum_value: float = None):
self.minimum_value = minimum_value
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsExemplarSampling()
)
if Primitive.to_proto(resource.minimum_value):
res.minimum_value = Primitive.to_proto(resource.minimum_value)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsExemplarSampling(
minimum_value=Primitive.from_proto(resource.minimum_value),
)
class AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsExemplarSamplingArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentAggregationsReduceMakeDistributionParamsExemplarSampling.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionAbsentDuration(object):
def __init__(self, seconds: int = None, nanos: int = None):
self.seconds = seconds
self.nanos = nanos
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentDuration()
if Primitive.to_proto(resource.seconds):
res.seconds = Primitive.to_proto(resource.seconds)
if Primitive.to_proto(resource.nanos):
res.nanos = Primitive.to_proto(resource.nanos)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentDuration(
seconds=Primitive.from_proto(resource.seconds),
nanos=Primitive.from_proto(resource.nanos),
)
class AlertPolicyConditionsConditionAbsentDurationArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentDuration.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentDuration.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionAbsentTrigger(object):
def __init__(self, count: int = None, percent: float = None):
self.count = count
self.percent = percent
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentTrigger()
if Primitive.to_proto(resource.count):
res.count = Primitive.to_proto(resource.count)
if Primitive.to_proto(resource.percent):
res.percent = Primitive.to_proto(resource.percent)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionAbsentTrigger(
count=Primitive.from_proto(resource.count),
percent=Primitive.from_proto(resource.percent),
)
class AlertPolicyConditionsConditionAbsentTriggerArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionAbsentTrigger.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionAbsentTrigger.from_proto(i) for i in resources
]
class AlertPolicyConditionsConditionMatchedLog(object):
def __init__(self, filter: str = None, label_extractors: dict = None):
self.filter = filter
self.label_extractors = label_extractors
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionMatchedLog()
if Primitive.to_proto(resource.filter):
res.filter = Primitive.to_proto(resource.filter)
if Primitive.to_proto(resource.label_extractors):
res.label_extractors = Primitive.to_proto(resource.label_extractors)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionMatchedLog(
filter=Primitive.from_proto(resource.filter),
label_extractors=Primitive.from_proto(resource.label_extractors),
)
class AlertPolicyConditionsConditionMatchedLogArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyConditionsConditionMatchedLog.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionMatchedLog.from_proto(i) for i in resources
]
class AlertPolicyConditionsConditionClusterOutlier(object):
def __init__(self, filter: str = None):
self.filter = filter
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionClusterOutlier()
if Primitive.to_proto(resource.filter):
res.filter = Primitive.to_proto(resource.filter)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionClusterOutlier(
filter=Primitive.from_proto(resource.filter),
)
class AlertPolicyConditionsConditionClusterOutlierArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionClusterOutlier.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionClusterOutlier.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionRate(object):
def __init__(
self,
filter: str = None,
aggregations: list = None,
comparison: str = None,
threshold_value: float = None,
time_window: dict = None,
trigger: dict = None,
):
self.filter = filter
self.aggregations = aggregations
self.comparison = comparison
self.threshold_value = threshold_value
self.time_window = time_window
self.trigger = trigger
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRate()
if Primitive.to_proto(resource.filter):
res.filter = Primitive.to_proto(resource.filter)
if AlertPolicyConditionsConditionRateAggregationsArray.to_proto(
resource.aggregations
):
res.aggregations.extend(
AlertPolicyConditionsConditionRateAggregationsArray.to_proto(
resource.aggregations
)
)
if AlertPolicyConditionsConditionRateComparisonEnum.to_proto(
resource.comparison
):
res.comparison = AlertPolicyConditionsConditionRateComparisonEnum.to_proto(
resource.comparison
)
if Primitive.to_proto(resource.threshold_value):
res.threshold_value = Primitive.to_proto(resource.threshold_value)
if AlertPolicyConditionsConditionRateTimeWindow.to_proto(resource.time_window):
res.time_window.CopyFrom(
AlertPolicyConditionsConditionRateTimeWindow.to_proto(
resource.time_window
)
)
else:
res.ClearField("time_window")
if AlertPolicyConditionsConditionRateTrigger.to_proto(resource.trigger):
res.trigger.CopyFrom(
AlertPolicyConditionsConditionRateTrigger.to_proto(resource.trigger)
)
else:
res.ClearField("trigger")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRate(
filter=Primitive.from_proto(resource.filter),
aggregations=AlertPolicyConditionsConditionRateAggregationsArray.from_proto(
resource.aggregations
),
comparison=AlertPolicyConditionsConditionRateComparisonEnum.from_proto(
resource.comparison
),
threshold_value=Primitive.from_proto(resource.threshold_value),
time_window=AlertPolicyConditionsConditionRateTimeWindow.from_proto(
resource.time_window
),
trigger=AlertPolicyConditionsConditionRateTrigger.from_proto(
resource.trigger
),
)
class AlertPolicyConditionsConditionRateArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyConditionsConditionRate.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyConditionsConditionRate.from_proto(i) for i in resources]
class AlertPolicyConditionsConditionRateAggregations(object):
def __init__(
self,
alignment_period: str = None,
per_series_aligner: str = None,
cross_series_reducer: str = None,
group_by_fields: list = None,
reduce_fraction_less_than_params: dict = None,
reduce_make_distribution_params: dict = None,
):
self.alignment_period = alignment_period
self.per_series_aligner = per_series_aligner
self.cross_series_reducer = cross_series_reducer
self.group_by_fields = group_by_fields
self.reduce_fraction_less_than_params = reduce_fraction_less_than_params
self.reduce_make_distribution_params = reduce_make_distribution_params
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregations()
)
if Primitive.to_proto(resource.alignment_period):
res.alignment_period = Primitive.to_proto(resource.alignment_period)
if AlertPolicyConditionsConditionRateAggregationsPerSeriesAlignerEnum.to_proto(
resource.per_series_aligner
):
res.per_series_aligner = AlertPolicyConditionsConditionRateAggregationsPerSeriesAlignerEnum.to_proto(
resource.per_series_aligner
)
if AlertPolicyConditionsConditionRateAggregationsCrossSeriesReducerEnum.to_proto(
resource.cross_series_reducer
):
res.cross_series_reducer = AlertPolicyConditionsConditionRateAggregationsCrossSeriesReducerEnum.to_proto(
resource.cross_series_reducer
)
if Primitive.to_proto(resource.group_by_fields):
res.group_by_fields.extend(Primitive.to_proto(resource.group_by_fields))
if AlertPolicyConditionsConditionRateAggregationsReduceFractionLessThanParams.to_proto(
resource.reduce_fraction_less_than_params
):
res.reduce_fraction_less_than_params.CopyFrom(
AlertPolicyConditionsConditionRateAggregationsReduceFractionLessThanParams.to_proto(
resource.reduce_fraction_less_than_params
)
)
else:
res.ClearField("reduce_fraction_less_than_params")
if AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParams.to_proto(
resource.reduce_make_distribution_params
):
res.reduce_make_distribution_params.CopyFrom(
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParams.to_proto(
resource.reduce_make_distribution_params
)
)
else:
res.ClearField("reduce_make_distribution_params")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateAggregations(
alignment_period=Primitive.from_proto(resource.alignment_period),
per_series_aligner=AlertPolicyConditionsConditionRateAggregationsPerSeriesAlignerEnum.from_proto(
resource.per_series_aligner
),
cross_series_reducer=AlertPolicyConditionsConditionRateAggregationsCrossSeriesReducerEnum.from_proto(
resource.cross_series_reducer
),
group_by_fields=Primitive.from_proto(resource.group_by_fields),
reduce_fraction_less_than_params=AlertPolicyConditionsConditionRateAggregationsReduceFractionLessThanParams.from_proto(
resource.reduce_fraction_less_than_params
),
reduce_make_distribution_params=AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParams.from_proto(
resource.reduce_make_distribution_params
),
)
class AlertPolicyConditionsConditionRateAggregationsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateAggregations.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateAggregations.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionRateAggregationsReduceFractionLessThanParams(
object
):
def __init__(self, threshold: float = None):
self.threshold = threshold
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsReduceFractionLessThanParams()
)
if Primitive.to_proto(resource.threshold):
res.threshold = Primitive.to_proto(resource.threshold)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateAggregationsReduceFractionLessThanParams(
threshold=Primitive.from_proto(resource.threshold),
)
class AlertPolicyConditionsConditionRateAggregationsReduceFractionLessThanParamsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateAggregationsReduceFractionLessThanParams.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateAggregationsReduceFractionLessThanParams.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParams(
object
):
def __init__(self, bucket_options: dict = None, exemplar_sampling: dict = None):
self.bucket_options = bucket_options
self.exemplar_sampling = exemplar_sampling
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParams()
)
if AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
resource.bucket_options
):
res.bucket_options.CopyFrom(
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
resource.bucket_options
)
)
else:
res.ClearField("bucket_options")
if AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
resource.exemplar_sampling
):
res.exemplar_sampling.CopyFrom(
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
resource.exemplar_sampling
)
)
else:
res.ClearField("exemplar_sampling")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParams(
bucket_options=AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptions.from_proto(
resource.bucket_options
),
exemplar_sampling=AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsExemplarSampling.from_proto(
resource.exemplar_sampling
),
)
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParams.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParams.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptions(
object
):
def __init__(
self,
linear_buckets: dict = None,
exponential_buckets: dict = None,
explicit_buckets: dict = None,
):
self.linear_buckets = linear_buckets
self.exponential_buckets = exponential_buckets
self.explicit_buckets = explicit_buckets
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptions()
)
if AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
resource.linear_buckets
):
res.linear_buckets.CopyFrom(
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
resource.linear_buckets
)
)
else:
res.ClearField("linear_buckets")
if AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
resource.exponential_buckets
):
res.exponential_buckets.CopyFrom(
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
resource.exponential_buckets
)
)
else:
res.ClearField("exponential_buckets")
if AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
resource.explicit_buckets
):
res.explicit_buckets.CopyFrom(
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
resource.explicit_buckets
)
)
else:
res.ClearField("explicit_buckets")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptions(
linear_buckets=AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.from_proto(
resource.linear_buckets
),
exponential_buckets=AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.from_proto(
resource.exponential_buckets
),
explicit_buckets=AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.from_proto(
resource.explicit_buckets
),
)
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptions.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptions.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets(
object
):
def __init__(
self, num_finite_buckets: int = None, width: float = None, offset: float = None
):
self.num_finite_buckets = num_finite_buckets
self.width = width
self.offset = offset
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets()
)
if Primitive.to_proto(resource.num_finite_buckets):
res.num_finite_buckets = Primitive.to_proto(resource.num_finite_buckets)
if Primitive.to_proto(resource.width):
res.width = Primitive.to_proto(resource.width)
if Primitive.to_proto(resource.offset):
res.offset = Primitive.to_proto(resource.offset)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets(
num_finite_buckets=Primitive.from_proto(resource.num_finite_buckets),
width=Primitive.from_proto(resource.width),
offset=Primitive.from_proto(resource.offset),
)
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsLinearBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsLinearBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets(
object
):
def __init__(
self,
num_finite_buckets: int = None,
growth_factor: float = None,
scale: float = None,
):
self.num_finite_buckets = num_finite_buckets
self.growth_factor = growth_factor
self.scale = scale
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets()
)
if Primitive.to_proto(resource.num_finite_buckets):
res.num_finite_buckets = Primitive.to_proto(resource.num_finite_buckets)
if Primitive.to_proto(resource.growth_factor):
res.growth_factor = Primitive.to_proto(resource.growth_factor)
if Primitive.to_proto(resource.scale):
res.scale = Primitive.to_proto(resource.scale)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets(
num_finite_buckets=Primitive.from_proto(resource.num_finite_buckets),
growth_factor=Primitive.from_proto(resource.growth_factor),
scale=Primitive.from_proto(resource.scale),
)
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExponentialBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets(
object
):
def __init__(self, bounds: list = None):
self.bounds = bounds
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets()
)
if float64Array.to_proto(resource.bounds):
res.bounds.extend(float64Array.to_proto(resource.bounds))
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets(
bounds=float64Array.from_proto(resource.bounds),
)
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBucketsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsBucketOptionsExplicitBuckets.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsExemplarSampling(
object
):
def __init__(self, minimum_value: float = None):
self.minimum_value = minimum_value
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsExemplarSampling()
)
if Primitive.to_proto(resource.minimum_value):
res.minimum_value = Primitive.to_proto(resource.minimum_value)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsExemplarSampling(
minimum_value=Primitive.from_proto(resource.minimum_value),
)
class AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsExemplarSamplingArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsExemplarSampling.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateAggregationsReduceMakeDistributionParamsExemplarSampling.from_proto(
i
)
for i in resources
]
class AlertPolicyConditionsConditionRateTimeWindow(object):
def __init__(self, seconds: int = None, nanos: int = None):
self.seconds = seconds
self.nanos = nanos
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateTimeWindow()
if Primitive.to_proto(resource.seconds):
res.seconds = Primitive.to_proto(resource.seconds)
if Primitive.to_proto(resource.nanos):
res.nanos = Primitive.to_proto(resource.nanos)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateTimeWindow(
seconds=Primitive.from_proto(resource.seconds),
nanos=Primitive.from_proto(resource.nanos),
)
class AlertPolicyConditionsConditionRateTimeWindowArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateTimeWindow.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateTimeWindow.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionRateTrigger(object):
def __init__(self, count: int = None, percent: float = None):
self.count = count
self.percent = percent
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateTrigger()
if Primitive.to_proto(resource.count):
res.count = Primitive.to_proto(resource.count)
if Primitive.to_proto(resource.percent):
res.percent = Primitive.to_proto(resource.percent)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionRateTrigger(
count=Primitive.from_proto(resource.count),
percent=Primitive.from_proto(resource.percent),
)
class AlertPolicyConditionsConditionRateTriggerArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionRateTrigger.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionRateTrigger.from_proto(i) for i in resources
]
class AlertPolicyConditionsConditionUpMon(object):
def __init__(
self,
filter: str = None,
endpoint_id: str = None,
check_id: str = None,
duration: dict = None,
trigger: dict = None,
):
self.filter = filter
self.endpoint_id = endpoint_id
self.check_id = check_id
self.duration = duration
self.trigger = trigger
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionUpMon()
if Primitive.to_proto(resource.filter):
res.filter = Primitive.to_proto(resource.filter)
if Primitive.to_proto(resource.endpoint_id):
res.endpoint_id = Primitive.to_proto(resource.endpoint_id)
if Primitive.to_proto(resource.check_id):
res.check_id = Primitive.to_proto(resource.check_id)
if AlertPolicyConditionsConditionUpMonDuration.to_proto(resource.duration):
res.duration.CopyFrom(
AlertPolicyConditionsConditionUpMonDuration.to_proto(resource.duration)
)
else:
res.ClearField("duration")
if AlertPolicyConditionsConditionUpMonTrigger.to_proto(resource.trigger):
res.trigger.CopyFrom(
AlertPolicyConditionsConditionUpMonTrigger.to_proto(resource.trigger)
)
else:
res.ClearField("trigger")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionUpMon(
filter=Primitive.from_proto(resource.filter),
endpoint_id=Primitive.from_proto(resource.endpoint_id),
check_id=Primitive.from_proto(resource.check_id),
duration=AlertPolicyConditionsConditionUpMonDuration.from_proto(
resource.duration
),
trigger=AlertPolicyConditionsConditionUpMonTrigger.from_proto(
resource.trigger
),
)
class AlertPolicyConditionsConditionUpMonArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyConditionsConditionUpMon.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyConditionsConditionUpMon.from_proto(i) for i in resources]
class AlertPolicyConditionsConditionUpMonDuration(object):
def __init__(self, seconds: int = None, nanos: int = None):
self.seconds = seconds
self.nanos = nanos
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionUpMonDuration()
if Primitive.to_proto(resource.seconds):
res.seconds = Primitive.to_proto(resource.seconds)
if Primitive.to_proto(resource.nanos):
res.nanos = Primitive.to_proto(resource.nanos)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionUpMonDuration(
seconds=Primitive.from_proto(resource.seconds),
nanos=Primitive.from_proto(resource.nanos),
)
class AlertPolicyConditionsConditionUpMonDurationArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionUpMonDuration.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionUpMonDuration.from_proto(i) for i in resources
]
class AlertPolicyConditionsConditionUpMonTrigger(object):
def __init__(self, count: int = None, percent: float = None):
self.count = count
self.percent = percent
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionUpMonTrigger()
if Primitive.to_proto(resource.count):
res.count = Primitive.to_proto(resource.count)
if Primitive.to_proto(resource.percent):
res.percent = Primitive.to_proto(resource.percent)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionUpMonTrigger(
count=Primitive.from_proto(resource.count),
percent=Primitive.from_proto(resource.percent),
)
class AlertPolicyConditionsConditionUpMonTriggerArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionUpMonTrigger.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionUpMonTrigger.from_proto(i) for i in resources
]
class AlertPolicyConditionsConditionProcessCount(object):
def __init__(
self,
process: str = None,
user: str = None,
filter: str = None,
comparison: str = None,
process_count_threshold: int = None,
trigger: dict = None,
duration: dict = None,
):
self.process = process
self.user = user
self.filter = filter
self.comparison = comparison
self.process_count_threshold = process_count_threshold
self.trigger = trigger
self.duration = duration
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyConditionsConditionProcessCount()
if Primitive.to_proto(resource.process):
res.process = Primitive.to_proto(resource.process)
if Primitive.to_proto(resource.user):
res.user = Primitive.to_proto(resource.user)
if Primitive.to_proto(resource.filter):
res.filter = Primitive.to_proto(resource.filter)
if AlertPolicyConditionsConditionProcessCountComparisonEnum.to_proto(
resource.comparison
):
res.comparison = AlertPolicyConditionsConditionProcessCountComparisonEnum.to_proto(
resource.comparison
)
if Primitive.to_proto(resource.process_count_threshold):
res.process_count_threshold = Primitive.to_proto(
resource.process_count_threshold
)
if AlertPolicyConditionsConditionProcessCountTrigger.to_proto(resource.trigger):
res.trigger.CopyFrom(
AlertPolicyConditionsConditionProcessCountTrigger.to_proto(
resource.trigger
)
)
else:
res.ClearField("trigger")
if AlertPolicyConditionsConditionProcessCountDuration.to_proto(
resource.duration
):
res.duration.CopyFrom(
AlertPolicyConditionsConditionProcessCountDuration.to_proto(
resource.duration
)
)
else:
res.ClearField("duration")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionProcessCount(
process=Primitive.from_proto(resource.process),
user=Primitive.from_proto(resource.user),
filter=Primitive.from_proto(resource.filter),
comparison=AlertPolicyConditionsConditionProcessCountComparisonEnum.from_proto(
resource.comparison
),
process_count_threshold=Primitive.from_proto(
resource.process_count_threshold
),
trigger=AlertPolicyConditionsConditionProcessCountTrigger.from_proto(
resource.trigger
),
duration=AlertPolicyConditionsConditionProcessCountDuration.from_proto(
resource.duration
),
)
class AlertPolicyConditionsConditionProcessCountArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionProcessCount.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionProcessCount.from_proto(i) for i in resources
]
class AlertPolicyConditionsConditionProcessCountTrigger(object):
def __init__(self, count: int = None, percent: float = None):
self.count = count
self.percent = percent
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionProcessCountTrigger()
)
if Primitive.to_proto(resource.count):
res.count = Primitive.to_proto(resource.count)
if Primitive.to_proto(resource.percent):
res.percent = Primitive.to_proto(resource.percent)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionProcessCountTrigger(
count=Primitive.from_proto(resource.count),
percent=Primitive.from_proto(resource.percent),
)
class AlertPolicyConditionsConditionProcessCountTriggerArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionProcessCountTrigger.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionProcessCountTrigger.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionProcessCountDuration(object):
def __init__(self, seconds: int = None, nanos: int = None):
self.seconds = seconds
self.nanos = nanos
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionProcessCountDuration()
)
if Primitive.to_proto(resource.seconds):
res.seconds = Primitive.to_proto(resource.seconds)
if Primitive.to_proto(resource.nanos):
res.nanos = Primitive.to_proto(resource.nanos)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionProcessCountDuration(
seconds=Primitive.from_proto(resource.seconds),
nanos=Primitive.from_proto(resource.nanos),
)
class AlertPolicyConditionsConditionProcessCountDurationArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionProcessCountDuration.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionProcessCountDuration.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionTimeSeriesQueryLanguage(object):
def __init__(self, query: str = None, summary: str = None):
self.query = query
self.summary = summary
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionTimeSeriesQueryLanguage()
)
if Primitive.to_proto(resource.query):
res.query = Primitive.to_proto(resource.query)
if Primitive.to_proto(resource.summary):
res.summary = Primitive.to_proto(resource.summary)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionTimeSeriesQueryLanguage(
query=Primitive.from_proto(resource.query),
summary=Primitive.from_proto(resource.summary),
)
class AlertPolicyConditionsConditionTimeSeriesQueryLanguageArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionTimeSeriesQueryLanguage.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionTimeSeriesQueryLanguage.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionMonitoringQueryLanguage(object):
def __init__(self, query: str = None, duration: dict = None, trigger: dict = None):
self.query = query
self.duration = duration
self.trigger = trigger
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguage()
)
if Primitive.to_proto(resource.query):
res.query = Primitive.to_proto(resource.query)
if AlertPolicyConditionsConditionMonitoringQueryLanguageDuration.to_proto(
resource.duration
):
res.duration.CopyFrom(
AlertPolicyConditionsConditionMonitoringQueryLanguageDuration.to_proto(
resource.duration
)
)
else:
res.ClearField("duration")
if AlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.to_proto(
resource.trigger
):
res.trigger.CopyFrom(
AlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.to_proto(
resource.trigger
)
)
else:
res.ClearField("trigger")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionMonitoringQueryLanguage(
query=Primitive.from_proto(resource.query),
duration=AlertPolicyConditionsConditionMonitoringQueryLanguageDuration.from_proto(
resource.duration
),
trigger=AlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.from_proto(
resource.trigger
),
)
class AlertPolicyConditionsConditionMonitoringQueryLanguageArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionMonitoringQueryLanguage.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionMonitoringQueryLanguage.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionMonitoringQueryLanguageDuration(object):
def __init__(self, seconds: int = None, nanos: int = None):
self.seconds = seconds
self.nanos = nanos
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageDuration()
)
if Primitive.to_proto(resource.seconds):
res.seconds = Primitive.to_proto(resource.seconds)
if Primitive.to_proto(resource.nanos):
res.nanos = Primitive.to_proto(resource.nanos)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionMonitoringQueryLanguageDuration(
seconds=Primitive.from_proto(resource.seconds),
nanos=Primitive.from_proto(resource.nanos),
)
class AlertPolicyConditionsConditionMonitoringQueryLanguageDurationArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionMonitoringQueryLanguageDuration.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionMonitoringQueryLanguageDuration.from_proto(i)
for i in resources
]
class AlertPolicyConditionsConditionMonitoringQueryLanguageTrigger(object):
def __init__(self, count: int = None, percent: float = None):
self.count = count
self.percent = percent
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
alert_policy_pb2.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTrigger()
)
if Primitive.to_proto(resource.count):
res.count = Primitive.to_proto(resource.count)
if Primitive.to_proto(resource.percent):
res.percent = Primitive.to_proto(resource.percent)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyConditionsConditionMonitoringQueryLanguageTrigger(
count=Primitive.from_proto(resource.count),
percent=Primitive.from_proto(resource.percent),
)
class AlertPolicyConditionsConditionMonitoringQueryLanguageTriggerArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
AlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
AlertPolicyConditionsConditionMonitoringQueryLanguageTrigger.from_proto(i)
for i in resources
]
class AlertPolicyEnabled(object):
def __init__(self, value: bool = None):
self.value = value
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyEnabled()
if Primitive.to_proto(resource.value):
res.value = Primitive.to_proto(resource.value)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyEnabled(value=Primitive.from_proto(resource.value),)
class AlertPolicyEnabledArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyEnabled.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyEnabled.from_proto(i) for i in resources]
class AlertPolicyValidity(object):
def __init__(self, code: int = None, message: str = None, details: list = None):
self.code = code
self.message = message
self.details = details
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyValidity()
if Primitive.to_proto(resource.code):
res.code = Primitive.to_proto(resource.code)
if Primitive.to_proto(resource.message):
res.message = Primitive.to_proto(resource.message)
if AlertPolicyValidityDetailsArray.to_proto(resource.details):
res.details.extend(
AlertPolicyValidityDetailsArray.to_proto(resource.details)
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyValidity(
code=Primitive.from_proto(resource.code),
message=Primitive.from_proto(resource.message),
details=AlertPolicyValidityDetailsArray.from_proto(resource.details),
)
class AlertPolicyValidityArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyValidity.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyValidity.from_proto(i) for i in resources]
class AlertPolicyValidityDetails(object):
def __init__(self, type_url: str = None, value: str = None):
self.type_url = type_url
self.value = value
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyValidityDetails()
if Primitive.to_proto(resource.type_url):
res.type_url = Primitive.to_proto(resource.type_url)
if Primitive.to_proto(resource.value):
res.value = Primitive.to_proto(resource.value)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyValidityDetails(
type_url=Primitive.from_proto(resource.type_url),
value=Primitive.from_proto(resource.value),
)
class AlertPolicyValidityDetailsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyValidityDetails.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyValidityDetails.from_proto(i) for i in resources]
class AlertPolicyCreationRecord(object):
def __init__(self, mutate_time: dict = None, mutated_by: str = None):
self.mutate_time = mutate_time
self.mutated_by = mutated_by
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyCreationRecord()
if AlertPolicyCreationRecordMutateTime.to_proto(resource.mutate_time):
res.mutate_time.CopyFrom(
AlertPolicyCreationRecordMutateTime.to_proto(resource.mutate_time)
)
else:
res.ClearField("mutate_time")
if Primitive.to_proto(resource.mutated_by):
res.mutated_by = Primitive.to_proto(resource.mutated_by)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyCreationRecord(
mutate_time=AlertPolicyCreationRecordMutateTime.from_proto(
resource.mutate_time
),
mutated_by=Primitive.from_proto(resource.mutated_by),
)
class AlertPolicyCreationRecordArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyCreationRecord.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyCreationRecord.from_proto(i) for i in resources]
class AlertPolicyCreationRecordMutateTime(object):
def __init__(self, seconds: int = None, nanos: int = None):
self.seconds = seconds
self.nanos = nanos
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyCreationRecordMutateTime()
if Primitive.to_proto(resource.seconds):
res.seconds = Primitive.to_proto(resource.seconds)
if Primitive.to_proto(resource.nanos):
res.nanos = Primitive.to_proto(resource.nanos)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyCreationRecordMutateTime(
seconds=Primitive.from_proto(resource.seconds),
nanos=Primitive.from_proto(resource.nanos),
)
class AlertPolicyCreationRecordMutateTimeArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyCreationRecordMutateTime.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyCreationRecordMutateTime.from_proto(i) for i in resources]
class AlertPolicyMutationRecord(object):
def __init__(self, mutate_time: dict = None, mutated_by: str = None):
self.mutate_time = mutate_time
self.mutated_by = mutated_by
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyMutationRecord()
if AlertPolicyMutationRecordMutateTime.to_proto(resource.mutate_time):
res.mutate_time.CopyFrom(
AlertPolicyMutationRecordMutateTime.to_proto(resource.mutate_time)
)
else:
res.ClearField("mutate_time")
if Primitive.to_proto(resource.mutated_by):
res.mutated_by = Primitive.to_proto(resource.mutated_by)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyMutationRecord(
mutate_time=AlertPolicyMutationRecordMutateTime.from_proto(
resource.mutate_time
),
mutated_by=Primitive.from_proto(resource.mutated_by),
)
class AlertPolicyMutationRecordArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyMutationRecord.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyMutationRecord.from_proto(i) for i in resources]
class AlertPolicyMutationRecordMutateTime(object):
def __init__(self, seconds: int = None, nanos: int = None):
self.seconds = seconds
self.nanos = nanos
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyMutationRecordMutateTime()
if Primitive.to_proto(resource.seconds):
res.seconds = Primitive.to_proto(resource.seconds)
if Primitive.to_proto(resource.nanos):
res.nanos = Primitive.to_proto(resource.nanos)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyMutationRecordMutateTime(
seconds=Primitive.from_proto(resource.seconds),
nanos=Primitive.from_proto(resource.nanos),
)
class AlertPolicyMutationRecordMutateTimeArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyMutationRecordMutateTime.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyMutationRecordMutateTime.from_proto(i) for i in resources]
class AlertPolicyIncidentStrategy(object):
def __init__(self, type: str = None):
self.type = type
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyIncidentStrategy()
if AlertPolicyIncidentStrategyTypeEnum.to_proto(resource.type):
res.type = AlertPolicyIncidentStrategyTypeEnum.to_proto(resource.type)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyIncidentStrategy(
type=AlertPolicyIncidentStrategyTypeEnum.from_proto(resource.type),
)
class AlertPolicyIncidentStrategyArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyIncidentStrategy.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyIncidentStrategy.from_proto(i) for i in resources]
class AlertPolicyMetadata(object):
def __init__(self, slo_names: list = None):
self.slo_names = slo_names
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = alert_policy_pb2.MonitoringAlertPolicyMetadata()
if Primitive.to_proto(resource.slo_names):
res.slo_names.extend(Primitive.to_proto(resource.slo_names))
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return AlertPolicyMetadata(slo_names=Primitive.from_proto(resource.slo_names),)
class AlertPolicyMetadataArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [AlertPolicyMetadata.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [AlertPolicyMetadata.from_proto(i) for i in resources]
class AlertPolicyConditionsResourceStateFilterEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsResourceStateFilterEnum.Value(
"MonitoringAlertPolicyConditionsResourceStateFilterEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsResourceStateFilterEnum.Name(
resource
)[
len("MonitoringAlertPolicyConditionsResourceStateFilterEnum") :
]
class AlertPolicyConditionsConditionThresholdAggregationsPerSeriesAlignerEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsPerSeriesAlignerEnum.Value(
"MonitoringAlertPolicyConditionsConditionThresholdAggregationsPerSeriesAlignerEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsPerSeriesAlignerEnum.Name(
resource
)[
len(
"MonitoringAlertPolicyConditionsConditionThresholdAggregationsPerSeriesAlignerEnum"
) :
]
class AlertPolicyConditionsConditionThresholdAggregationsCrossSeriesReducerEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsCrossSeriesReducerEnum.Value(
"MonitoringAlertPolicyConditionsConditionThresholdAggregationsCrossSeriesReducerEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdAggregationsCrossSeriesReducerEnum.Name(
resource
)[
len(
"MonitoringAlertPolicyConditionsConditionThresholdAggregationsCrossSeriesReducerEnum"
) :
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsPerSeriesAlignerEnum(
object
):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsPerSeriesAlignerEnum.Value(
"MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsPerSeriesAlignerEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsPerSeriesAlignerEnum.Name(
resource
)[
len(
"MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsPerSeriesAlignerEnum"
) :
]
class AlertPolicyConditionsConditionThresholdDenominatorAggregationsCrossSeriesReducerEnum(
object
):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsCrossSeriesReducerEnum.Value(
"MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsCrossSeriesReducerEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsCrossSeriesReducerEnum.Name(
resource
)[
len(
"MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsCrossSeriesReducerEnum"
) :
]
class AlertPolicyConditionsConditionThresholdComparisonEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdComparisonEnum.Value(
"MonitoringAlertPolicyConditionsConditionThresholdComparisonEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionThresholdComparisonEnum.Name(
resource
)[
len("MonitoringAlertPolicyConditionsConditionThresholdComparisonEnum") :
]
class AlertPolicyConditionsConditionAbsentAggregationsPerSeriesAlignerEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsPerSeriesAlignerEnum.Value(
"MonitoringAlertPolicyConditionsConditionAbsentAggregationsPerSeriesAlignerEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsPerSeriesAlignerEnum.Name(
resource
)[
len(
"MonitoringAlertPolicyConditionsConditionAbsentAggregationsPerSeriesAlignerEnum"
) :
]
class AlertPolicyConditionsConditionAbsentAggregationsCrossSeriesReducerEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsCrossSeriesReducerEnum.Value(
"MonitoringAlertPolicyConditionsConditionAbsentAggregationsCrossSeriesReducerEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionAbsentAggregationsCrossSeriesReducerEnum.Name(
resource
)[
len(
"MonitoringAlertPolicyConditionsConditionAbsentAggregationsCrossSeriesReducerEnum"
) :
]
class AlertPolicyConditionsConditionRateAggregationsPerSeriesAlignerEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsPerSeriesAlignerEnum.Value(
"MonitoringAlertPolicyConditionsConditionRateAggregationsPerSeriesAlignerEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsPerSeriesAlignerEnum.Name(
resource
)[
len(
"MonitoringAlertPolicyConditionsConditionRateAggregationsPerSeriesAlignerEnum"
) :
]
class AlertPolicyConditionsConditionRateAggregationsCrossSeriesReducerEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsCrossSeriesReducerEnum.Value(
"MonitoringAlertPolicyConditionsConditionRateAggregationsCrossSeriesReducerEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateAggregationsCrossSeriesReducerEnum.Name(
resource
)[
len(
"MonitoringAlertPolicyConditionsConditionRateAggregationsCrossSeriesReducerEnum"
) :
]
class AlertPolicyConditionsConditionRateComparisonEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateComparisonEnum.Value(
"MonitoringAlertPolicyConditionsConditionRateComparisonEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionRateComparisonEnum.Name(
resource
)[
len("MonitoringAlertPolicyConditionsConditionRateComparisonEnum") :
]
class AlertPolicyConditionsConditionProcessCountComparisonEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionProcessCountComparisonEnum.Value(
"MonitoringAlertPolicyConditionsConditionProcessCountComparisonEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyConditionsConditionProcessCountComparisonEnum.Name(
resource
)[
len("MonitoringAlertPolicyConditionsConditionProcessCountComparisonEnum") :
]
class AlertPolicyCombinerEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyCombinerEnum.Value(
"MonitoringAlertPolicyCombinerEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyCombinerEnum.Name(resource)[
len("MonitoringAlertPolicyCombinerEnum") :
]
class AlertPolicyIncidentStrategyTypeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyIncidentStrategyTypeEnum.Value(
"MonitoringAlertPolicyIncidentStrategyTypeEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return alert_policy_pb2.MonitoringAlertPolicyIncidentStrategyTypeEnum.Name(
resource
)[len("MonitoringAlertPolicyIncidentStrategyTypeEnum") :]
class Primitive(object):
@classmethod
def to_proto(self, s):
if not s:
return ""
return s
@classmethod
def from_proto(self, s):
return s