Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: add missing readme files and regenerate metadata #922

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
783 changes: 365 additions & 418 deletions metadata.yaml

Large diffs are not rendered by default.

292 changes: 138 additions & 154 deletions modules/budget/metadata.yaml
Original file line number Diff line number Diff line change
@@ -1,162 +1,146 @@
# Copyright 2022 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
#
# 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.

apiVersion: blueprints.cloud.google.com/v1alpha1
kind: BlueprintMetadata
metadata:
name: terraform-google-project-factory
annotations:
config.kubernetes.io/local-config: "true"
spec:
title: Budget configuration for a project
source:
repo: https://github.com/terraform-google-modules/terraform-google-project-factory.git
sourceType: git
version: 15.0.1
actuationTool:
type: Terraform
version: '>= 0.13'
examples:
- name: app_engine
location: examples/app_engine
- name: budget_project
location: examples/budget_project
- name: essential_contacts
location: examples/essential_contacts
- name: fabric_project
location: examples/fabric_project
- name: gke_shared_vpc
location: examples/gke_shared_vpc
- name: group_project
location: examples/group_project
- name: project-hierarchy
location: examples/project-hierarchy
- name: project_services
location: examples/project_services
- name: quota_project
location: examples/quota_project
- name: shared_vpc
location: examples/shared_vpc
- name: simple_project
location: examples/simple_project
variables:
- name: alert_pubsub_topic
description: The name of the Cloud Pub/Sub topic where budget related messages will be published, in the form of `projects/{project_id}/topics/{topic_id}`
type: string
required: false
- name: alert_spend_basis
description: The type of basis used to determine if spend has passed the threshold
type: string
default: CURRENT_SPEND
required: false
- name: alert_spent_percents
description: A list of percentages of the budget to alert on when threshold is exceeded
type: list(number)
default:
- 0.5
- 0.7
- 1
required: false
- name: amount
description: The amount to use as the budget
type: number
required: true
- name: billing_account
description: ID of the billing account to set a budget on
type: string
required: true
- name: calendar_period
description: Specifies the calendar period for the budget. Possible values are MONTH, QUARTER, YEAR, CALENDAR_PERIOD_UNSPECIFIED, CUSTOM. custom_period_start_date and custom_period_end_date must be set if CUSTOM
type: string
required: false
- name: create_budget
description: If the budget should be created
type: bool
default: true
required: false
- name: credit_types_treatment
description: Specifies how credits should be treated when determining spend for threshold calculations
type: string
default: INCLUDE_ALL_CREDITS
required: false
- name: custom_period_end_date
description: Specifies the end date (DD-MM-YYYY) for the calendar_period CUSTOM
type: string
required: false
- name: custom_period_start_date
description: Specifies the start date (DD-MM-YYYY) for the calendar_period CUSTOM
type: string
required: false
- name: display_name
description: 'The display name of the budget. If not set defaults to `Budget For <projects[0]|All Projects>` '
type: string
required: false
- name: labels
description: A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget.
type: map(string)
default: {}
required: false
- name: monitoring_notification_channels
description: A list of monitoring notification channels in the form `[projects/{project_id}/notificationChannels/{channel_id}]`. A maximum of 5 channels are allowed.
type: list(string)
default: []
required: false
- name: projects
description: The project ids to include in this budget. If empty budget will include all projects
type: list(string)
required: true
- name: services
description: A list of services ids to be included in the budget. If omitted, all services will be included in the budget. Service ids can be found at https://cloud.google.com/skus/
type: list(string)
required: false
outputs:
- name: name
description: Resource name of the budget. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}.`
roles:
- level: Project
info:
title: Budget configuration for a project
source:
repo: https://github.com/gajdaw/terraform-google-project-factory.git
sourceType: git
dir: /modules/budget
version: 15.0.1
actuationTool:
flavor: Terraform
version: ">= 0.13"
description: {}
content:
examples:
- name: app_engine
location: examples/app_engine
- name: budget_project
location: examples/budget_project
- name: essential_contacts
location: examples/essential_contacts
- name: fabric_project
location: examples/fabric_project
- name: gke_shared_vpc
location: examples/gke_shared_vpc
- name: group_project
location: examples/group_project
- name: project-hierarchy
location: examples/project-hierarchy
- name: project_services
location: examples/project_services
- name: quota_project
location: examples/quota_project
- name: shared_vpc
location: examples/shared_vpc
- name: simple_project
location: examples/simple_project
- name: tags_project
location: examples/tags_project
interfaces:
variables:
- name: alert_pubsub_topic
description: The name of the Cloud Pub/Sub topic where budget related messages will be published, in the form of `projects/{project_id}/topics/{topic_id}`
varType: string
- name: alert_spend_basis
description: The type of basis used to determine if spend has passed the threshold
varType: string
defaultValue: CURRENT_SPEND
- name: alert_spent_percents
description: A list of percentages of the budget to alert on when threshold is exceeded
varType: list(number)
defaultValue:
- 0.5
- 0.7
- 1
- name: amount
description: The amount to use as the budget
varType: number
required: true
- name: billing_account
description: ID of the billing account to set a budget on
varType: string
required: true
- name: calendar_period
description: Specifies the calendar period for the budget. Possible values are MONTH, QUARTER, YEAR, CALENDAR_PERIOD_UNSPECIFIED, CUSTOM. custom_period_start_date and custom_period_end_date must be set if CUSTOM
varType: string
- name: create_budget
description: If the budget should be created
varType: bool
defaultValue: true
- name: credit_types_treatment
description: Specifies how credits should be treated when determining spend for threshold calculations
varType: string
defaultValue: INCLUDE_ALL_CREDITS
- name: custom_period_end_date
description: Specifies the end date (DD-MM-YYYY) for the calendar_period CUSTOM
varType: string
- name: custom_period_start_date
description: Specifies the start date (DD-MM-YYYY) for the calendar_period CUSTOM
varType: string
- name: display_name
description: "The display name of the budget. If not set defaults to `Budget For <projects[0]|All Projects>` "
varType: string
- name: labels
description: A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget.
varType: map(string)
defaultValue: {}
- name: monitoring_notification_channels
description: A list of monitoring notification channels in the form `[projects/{project_id}/notificationChannels/{channel_id}]`. A maximum of 5 channels are allowed.
varType: list(string)
defaultValue: []
- name: projects
description: The project ids to include in this budget. If empty budget will include all projects
varType: list(string)
required: true
- name: services
description: A list of services ids to be included in the budget. If omitted, all services will be included in the budget. Service ids can be found at https://cloud.google.com/skus/
varType: list(string)
outputs:
- name: name
description: Resource name of the budget. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}.`
requirements:
roles:
- roles/owner
- roles/compute.admin
- roles/iam.serviceAccountAdmin
- roles/resourcemanager.projectIamAdmin
- roles/storage.admin
- roles/iam.serviceAccountUser
- roles/billing.projectManager
- level: Project
roles:
- roles/owner
- roles/resourcemanager.projectCreator
- roles/resourcemanager.folderAdmin
- roles/resourcemanager.folderIamAdmin
- roles/billing.projectManager
- roles/compute.xpnAdmin
- level: Project
roles:
- roles/accesscontextmanager.policyAdmin
- roles/resourcemanager.organizationViewer
services:
- admin.googleapis.com
- appengine.googleapis.com
- cloudbilling.googleapis.com
- cloudresourcemanager.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
- iamcredentials.googleapis.com
- oslogin.googleapis.com
- serviceusage.googleapis.com
- billingbudgets.googleapis.com
- pubsub.googleapis.com
- accesscontextmanager.googleapis.com
- essentialcontacts.googleapis.com
- serviceconsumermanagement.googleapis.com
- level: Project
roles:
- roles/owner
- roles/compute.admin
- roles/iam.serviceAccountAdmin
- roles/resourcemanager.projectIamAdmin
- roles/storage.admin
- roles/iam.serviceAccountUser
- roles/billing.projectManager
- level: Project
roles:
- roles/owner
- roles/resourcemanager.projectCreator
- roles/resourcemanager.folderAdmin
- roles/resourcemanager.folderIamAdmin
- roles/billing.projectManager
- roles/compute.xpnAdmin
- level: Project
roles:
- roles/accesscontextmanager.policyAdmin
- roles/resourcemanager.organizationViewer
- roles/resourcemanager.tagAdmin
- roles/resourcemanager.tagUser
services:
- admin.googleapis.com
- appengine.googleapis.com
- cloudbilling.googleapis.com
- cloudresourcemanager.googleapis.com
- compute.googleapis.com
- iam.googleapis.com
- iamcredentials.googleapis.com
- oslogin.googleapis.com
- serviceusage.googleapis.com
- billingbudgets.googleapis.com
- pubsub.googleapis.com
- accesscontextmanager.googleapis.com
- essentialcontacts.googleapis.com
- serviceconsumermanagement.googleapis.com
Loading