/*
 * Copyright 2020 Google LLC
 *
 * 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
 *
 *     https://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.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/billing/budgets/v1beta1/budget_model.proto

package com.google.cloud.billing.budgets.v1beta1;

public final class BudgetModel {
  private BudgetModel() {}

  public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}

  public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
  }

  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_billing_budgets_v1beta1_Budget_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_billing_budgets_v1beta1_Budget_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_billing_budgets_v1beta1_BudgetAmount_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_billing_budgets_v1beta1_BudgetAmount_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_billing_budgets_v1beta1_LastPeriodAmount_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_billing_budgets_v1beta1_LastPeriodAmount_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_billing_budgets_v1beta1_ThresholdRule_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_billing_budgets_v1beta1_ThresholdRule_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_billing_budgets_v1beta1_AllUpdatesRule_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_billing_budgets_v1beta1_AllUpdatesRule_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_billing_budgets_v1beta1_Filter_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_billing_budgets_v1beta1_Filter_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_billing_budgets_v1beta1_Filter_LabelsEntry_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_billing_budgets_v1beta1_Filter_LabelsEntry_fieldAccessorTable;
  static final com.google.protobuf.Descriptors.Descriptor
      internal_static_google_cloud_billing_budgets_v1beta1_CustomPeriod_descriptor;
  static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_google_cloud_billing_budgets_v1beta1_CustomPeriod_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
    return descriptor;
  }

  private static com.google.protobuf.Descriptors.FileDescriptor descriptor;

  static {
    java.lang.String[] descriptorData = {
      "\n7google/cloud/billing/budgets/v1beta1/b"
          + "udget_model.proto\022$google.cloud.billing."
          + "budgets.v1beta1\032\037google/api/field_behavi"
          + "or.proto\032\031google/api/resource.proto\032\034goo"
          + "gle/protobuf/struct.proto\032\026google/type/d"
          + "ate.proto\032\027google/type/money.proto\"\336\003\n\006B"
          + "udget\022\021\n\004name\030\001 \001(\tB\003\340A\003\022\024\n\014display_name"
          + "\030\002 \001(\t\022H\n\rbudget_filter\030\003 \001(\0132,.google.c"
          + "loud.billing.budgets.v1beta1.FilterB\003\340A\001"
          + "\022G\n\006amount\030\004 \001(\01322.google.cloud.billing."
          + "budgets.v1beta1.BudgetAmountB\003\340A\002\022Q\n\017thr"
          + "eshold_rules\030\005 \003(\01323.google.cloud.billin"
          + "g.budgets.v1beta1.ThresholdRuleB\003\340A\001\022S\n\020"
          + "all_updates_rule\030\006 \001(\01324.google.cloud.bi"
          + "lling.budgets.v1beta1.AllUpdatesRuleB\003\340A"
          + "\001\022\021\n\004etag\030\007 \001(\tB\003\340A\001:]\352AZ\n$billingbudget"
          + "s.googleapis.com/Budget\0222billingAccounts"
          + "/{billing_account}/budgets/{budget}\"\245\001\n\014"
          + "BudgetAmount\022.\n\020specified_amount\030\001 \001(\0132\022"
          + ".google.type.MoneyH\000\022T\n\022last_period_amou"
          + "nt\030\002 \001(\01326.google.cloud.billing.budgets."
          + "v1beta1.LastPeriodAmountH\000B\017\n\rbudget_amo"
          + "unt\"\022\n\020LastPeriodAmount\"\315\001\n\rThresholdRul"
          + "e\022\036\n\021threshold_percent\030\001 \001(\001B\003\340A\002\022S\n\013spe"
          + "nd_basis\030\002 \001(\01629.google.cloud.billing.bu"
          + "dgets.v1beta1.ThresholdRule.BasisB\003\340A\001\"G"
          + "\n\005Basis\022\025\n\021BASIS_UNSPECIFIED\020\000\022\021\n\rCURREN"
          + "T_SPEND\020\001\022\024\n\020FORECASTED_SPEND\020\002\"\244\001\n\016AllU"
          + "pdatesRule\022\031\n\014pubsub_topic\030\001 \001(\tB\003\340A\001\022\033\n"
          + "\016schema_version\030\002 \001(\tB\003\340A\001\022-\n monitoring"
          + "_notification_channels\030\003 \003(\tB\003\340A\001\022+\n\036dis"
          + "able_default_iam_recipients\030\004 \001(\010B\003\340A\001\"\267"
          + "\005\n\006Filter\022\025\n\010projects\030\001 \003(\tB\003\340A\001\022\031\n\014cred"
          + "it_types\030\007 \003(\tB\003\340A\001\022f\n\026credit_types_trea"
          + "tment\030\004 \001(\0162A.google.cloud.billing.budge"
          + "ts.v1beta1.Filter.CreditTypesTreatmentB\003"
          + "\340A\001\022\025\n\010services\030\003 \003(\tB\003\340A\001\022\030\n\013subaccount"
          + "s\030\005 \003(\tB\003\340A\001\022M\n\006labels\030\006 \003(\01328.google.cl"
          + "oud.billing.budgets.v1beta1.Filter.Label"
          + "sEntryB\003\340A\001\022T\n\017calendar_period\030\010 \001(\01624.g"
          + "oogle.cloud.billing.budgets.v1beta1.Cale"
          + "ndarPeriodB\003\340A\001H\000\022P\n\rcustom_period\030\t \001(\013"
          + "22.google.cloud.billing.budgets.v1beta1."
          + "CustomPeriodB\003\340A\001H\000\032I\n\013LabelsEntry\022\013\n\003ke"
          + "y\030\001 \001(\t\022)\n\005value\030\002 \001(\0132\032.google.protobuf"
          + ".ListValue:\0028\001\"\217\001\n\024CreditTypesTreatment\022"
          + "&\n\"CREDIT_TYPES_TREATMENT_UNSPECIFIED\020\000\022"
          + "\027\n\023INCLUDE_ALL_CREDITS\020\001\022\027\n\023EXCLUDE_ALL_"
          + "CREDITS\020\002\022\035\n\031INCLUDE_SPECIFIED_CREDITS\020\003"
          + "B\016\n\014usage_period\"d\n\014CustomPeriod\022*\n\nstar"
          + "t_date\030\001 \001(\0132\021.google.type.DateB\003\340A\002\022(\n\010"
          + "end_date\030\002 \001(\0132\021.google.type.DateB\003\340A\001*S"
          + "\n\016CalendarPeriod\022\037\n\033CALENDAR_PERIOD_UNSP"
          + "ECIFIED\020\000\022\t\n\005MONTH\020\001\022\013\n\007QUARTER\020\002\022\010\n\004YEA"
          + "R\020\003Bp\n(com.google.cloud.billing.budgets."
          + "v1beta1P\001ZBcloud.google.com/go/billing/b"
          + "udgets/apiv1beta1/budgetspb;budgetspbb\006p"
          + "roto3"
    };
    descriptor =
        com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
            descriptorData,
            new com.google.protobuf.Descriptors.FileDescriptor[] {
              com.google.api.FieldBehaviorProto.getDescriptor(),
              com.google.api.ResourceProto.getDescriptor(),
              com.google.protobuf.StructProto.getDescriptor(),
              com.google.type.DateProto.getDescriptor(),
              com.google.type.MoneyProto.getDescriptor(),
            });
    internal_static_google_cloud_billing_budgets_v1beta1_Budget_descriptor =
        getDescriptor().getMessageTypes().get(0);
    internal_static_google_cloud_billing_budgets_v1beta1_Budget_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_billing_budgets_v1beta1_Budget_descriptor,
            new java.lang.String[] {
              "Name",
              "DisplayName",
              "BudgetFilter",
              "Amount",
              "ThresholdRules",
              "AllUpdatesRule",
              "Etag",
            });
    internal_static_google_cloud_billing_budgets_v1beta1_BudgetAmount_descriptor =
        getDescriptor().getMessageTypes().get(1);
    internal_static_google_cloud_billing_budgets_v1beta1_BudgetAmount_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_billing_budgets_v1beta1_BudgetAmount_descriptor,
            new java.lang.String[] {
              "SpecifiedAmount", "LastPeriodAmount", "BudgetAmount",
            });
    internal_static_google_cloud_billing_budgets_v1beta1_LastPeriodAmount_descriptor =
        getDescriptor().getMessageTypes().get(2);
    internal_static_google_cloud_billing_budgets_v1beta1_LastPeriodAmount_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_billing_budgets_v1beta1_LastPeriodAmount_descriptor,
            new java.lang.String[] {});
    internal_static_google_cloud_billing_budgets_v1beta1_ThresholdRule_descriptor =
        getDescriptor().getMessageTypes().get(3);
    internal_static_google_cloud_billing_budgets_v1beta1_ThresholdRule_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_billing_budgets_v1beta1_ThresholdRule_descriptor,
            new java.lang.String[] {
              "ThresholdPercent", "SpendBasis",
            });
    internal_static_google_cloud_billing_budgets_v1beta1_AllUpdatesRule_descriptor =
        getDescriptor().getMessageTypes().get(4);
    internal_static_google_cloud_billing_budgets_v1beta1_AllUpdatesRule_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_billing_budgets_v1beta1_AllUpdatesRule_descriptor,
            new java.lang.String[] {
              "PubsubTopic",
              "SchemaVersion",
              "MonitoringNotificationChannels",
              "DisableDefaultIamRecipients",
            });
    internal_static_google_cloud_billing_budgets_v1beta1_Filter_descriptor =
        getDescriptor().getMessageTypes().get(5);
    internal_static_google_cloud_billing_budgets_v1beta1_Filter_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_billing_budgets_v1beta1_Filter_descriptor,
            new java.lang.String[] {
              "Projects",
              "CreditTypes",
              "CreditTypesTreatment",
              "Services",
              "Subaccounts",
              "Labels",
              "CalendarPeriod",
              "CustomPeriod",
              "UsagePeriod",
            });
    internal_static_google_cloud_billing_budgets_v1beta1_Filter_LabelsEntry_descriptor =
        internal_static_google_cloud_billing_budgets_v1beta1_Filter_descriptor
            .getNestedTypes()
            .get(0);
    internal_static_google_cloud_billing_budgets_v1beta1_Filter_LabelsEntry_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_billing_budgets_v1beta1_Filter_LabelsEntry_descriptor,
            new java.lang.String[] {
              "Key", "Value",
            });
    internal_static_google_cloud_billing_budgets_v1beta1_CustomPeriod_descriptor =
        getDescriptor().getMessageTypes().get(6);
    internal_static_google_cloud_billing_budgets_v1beta1_CustomPeriod_fieldAccessorTable =
        new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_google_cloud_billing_budgets_v1beta1_CustomPeriod_descriptor,
            new java.lang.String[] {
              "StartDate", "EndDate",
            });
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(com.google.api.FieldBehaviorProto.fieldBehavior);
    registry.add(com.google.api.ResourceProto.resource);
    com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor(
        descriptor, registry);
    com.google.api.FieldBehaviorProto.getDescriptor();
    com.google.api.ResourceProto.getDescriptor();
    com.google.protobuf.StructProto.getDescriptor();
    com.google.type.DateProto.getDescriptor();
    com.google.type.MoneyProto.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
