Class: Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1NotificationsRule

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/billingbudgets_v1/classes.rb,
lib/google/apis/billingbudgets_v1/representations.rb,
lib/google/apis/billingbudgets_v1/representations.rb

Overview

NotificationsRule defines notifications that are sent based on budget spend and thresholds.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudBillingBudgetsV1NotificationsRule

Returns a new instance of GoogleCloudBillingBudgetsV1NotificationsRule.



333
334
335
# File 'lib/google/apis/billingbudgets_v1/classes.rb', line 333

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#disable_default_iam_recipientsBoolean Also known as: disable_default_iam_recipients?

Optional. When set to true, disables default notifications sent when a threshold is exceeded. Default notifications are sent to those with Billing Account Administrator and Billing Account User IAM roles for the target account. Corresponds to the JSON property disableDefaultIamRecipients

Returns:

  • (Boolean)


299
300
301
# File 'lib/google/apis/billingbudgets_v1/classes.rb', line 299

def disable_default_iam_recipients
  @disable_default_iam_recipients
end

#monitoring_notification_channelsArray<String>

Optional. Targets to send notifications to when a threshold is exceeded. This is in addition to default recipients who have billing account IAM roles. The value is the full REST resource name of a monitoring notification channel with the form projects/project_id/notificationChannels/channel_id`. A maximum of 5 channels are allowed. See https://cloud.google.com/billing/docs/how-to/ budgets-notification-recipients for more details. Corresponds to the JSON propertymonitoringNotificationChannels`

Returns:

  • (Array<String>)


310
311
312
# File 'lib/google/apis/billingbudgets_v1/classes.rb', line 310

def monitoring_notification_channels
  @monitoring_notification_channels
end

#pubsub_topicString

Optional. The name of the Pub/Sub topic where budget related messages will be published, in the form projects/project_id/topics/topic_id`. Updates are sent at regular intervals to the topic. The topic needs to be created before the budget is created; see https://cloud.google.com/billing/docs/how-to/ budgets#manage-notifications for more details. Caller is expected to have pubsub.topics.setIamPolicypermission on the topic when it's set for a budget, otherwise, the API call will fail with PERMISSION_DENIED. See https://cloud. google.com/billing/docs/how-to/budgets-programmatic-notifications for more details on Pub/Sub roles and permissions. Corresponds to the JSON propertypubsubTopic`

Returns:

  • (String)


323
324
325
# File 'lib/google/apis/billingbudgets_v1/classes.rb', line 323

def pubsub_topic
  @pubsub_topic
end

#schema_versionString

Optional. Required when NotificationsRule.pubsub_topic is set. The schema version of the notification sent to NotificationsRule.pubsub_topic. Only "1.0" is accepted. It represents the JSON schema as defined in https://cloud.google. com/billing/docs/how-to/budgets-programmatic-notifications#notification_format. Corresponds to the JSON property schemaVersion

Returns:

  • (String)


331
332
333
# File 'lib/google/apis/billingbudgets_v1/classes.rb', line 331

def schema_version
  @schema_version
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



338
339
340
341
342
343
# File 'lib/google/apis/billingbudgets_v1/classes.rb', line 338

def update!(**args)
  @disable_default_iam_recipients = args[:disable_default_iam_recipients] if args.key?(:disable_default_iam_recipients)
  @monitoring_notification_channels = args[:monitoring_notification_channels] if args.key?(:monitoring_notification_channels)
  @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
  @schema_version = args[:schema_version] if args.key?(:schema_version)
end