UNPKG

pulumi-better-uptime

Version:

A Pulumi provider for managing Better Uptime monitoring, alerting, and incident management resources, dynamically bridged from the Terraform Better Uptime provider with support for monitors, heartbeats, integrations, status pages, and policies.

414 lines (413 loc) 16.5 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; export declare class StatusPage extends pulumi.CustomResource { /** * Get an existing StatusPage resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StatusPageState, opts?: pulumi.CustomResourceOptions): StatusPage; /** * Returns true if the given object is an instance of StatusPage. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is StatusPage; /** * The overall status of this status page. */ readonly aggregateState: pulumi.Output<string>; /** * Add an announcement to your status page. */ readonly announcement: pulumi.Output<string>; /** * Modify the design of the announcement embed. */ readonly announcementEmbedCss: pulumi.Output<string>; /** * Point your embedded announcement to a specified URL. */ readonly announcementEmbedLink: pulumi.Output<string>; /** * Toggle this field if you want to show an announcement in your embed. You can embed the announcement using this snippet: * `<script src="https://uptime.betterstack.com/widgets/announcement.js" data-id="<SET STATUS_PAGE_ID>" async="async" * type="text/javascript"></script>` */ readonly announcementEmbedVisible: pulumi.Output<boolean>; /** * Generate automatic reports when your services go down */ readonly automaticReports: pulumi.Output<boolean>; /** * Name of your company. */ readonly companyName: pulumi.Output<string>; /** * URL of your company's website. */ readonly companyUrl: pulumi.Output<string>; /** * URL that should be used for contacting you in case of an emergency. */ readonly contactUrl: pulumi.Output<string>; /** * The time when this status page was created. */ readonly createdAt: pulumi.Output<string>; /** * Unleash your inner designer and tweak our status page design to fit your branding. */ readonly customCss: pulumi.Output<string>; /** * Do you want a custom domain on your status page? Add a CNAME record that points your domain to status.betteruptime.com. * Example: `CNAME status.walmine.com statuspage.betteruptime.com` */ readonly customDomain: pulumi.Output<string>; /** * Add custom behavior to your status page. It is only allowed for status pages with a custom domain name. */ readonly customJavascript: pulumi.Output<string>; /** * Choose between classic and modern status page design. Possible values: 'v1', 'v2'. */ readonly design: pulumi.Output<string>; /** * Specify your own Google Analytics ID if you want to receive hits on your status page. */ readonly googleAnalyticsId: pulumi.Output<string>; /** * Hide your status page from search engines. */ readonly hideFromSearchEngines: pulumi.Output<boolean>; /** * Number of days to display on the status page. Between 7 and 365 days. */ readonly history: pulumi.Output<number>; /** * List of IP addresses or CIDR ranges that are allowed to access the status page. Accepts IPv4, IPv6, CIDR ranges, and * comments starting with `#`. To remove all IP restrictions, set to an empty list `[]`. This is a [billable * feature](https://betterstack.com/pricing#status-pages). */ readonly ipAllowlists: pulumi.Output<string[] | undefined>; /** * Choose usual vertical layout or space-saving horizontal layout. Only applicable when design: v2. Possible values: * 'vertical', 'horizontal'. */ readonly layout: pulumi.Output<string>; /** * A direct link to your company's logo. The image should be under 20MB in size. */ readonly logoUrl: pulumi.Output<string>; /** * If you don't want to display short incidents on your status page, this attribute is for you. */ readonly minIncidentLength: pulumi.Output<number>; /** * Adjust the navigation links on your status page. Only applicable when design: v2. Only first 4 links considered. */ readonly navigationLinks: pulumi.Output<outputs.StatusPageNavigationLink[] | undefined>; /** * Set a password of your status page (we won't store it as plaintext, promise). Required when password_enabled: true. We * will set password_enabled: false automatically when you send us an empty password. */ readonly password: pulumi.Output<string>; /** * Do you want to enable password protection on your status page? */ readonly passwordEnabled: pulumi.Output<boolean>; /** * Set this attribute if you want to add this status page to a status page group. */ readonly statusPageGroupId: pulumi.Output<number>; /** * What subdomain should we use for your status page? This needs to be unique across our entire application, so choose * carefully */ readonly subdomain: pulumi.Output<string>; /** * Do you want to allow users to subscribe to your status page changes? */ readonly subscribable: pulumi.Output<boolean>; /** * Choose theme of your status page. Only applicable when design: v2. Possible values: 'light', 'dark'. */ readonly theme: pulumi.Output<string>; /** * What timezone should we display your status page in? The accepted values can be found in the Rails TimeZone * documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html */ readonly timezone: pulumi.Output<string>; /** * The time when this status page was updated. */ readonly updatedAt: pulumi.Output<string>; /** * Create a StatusPage resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: StatusPageArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering StatusPage resources. */ export interface StatusPageState { /** * The overall status of this status page. */ aggregateState?: pulumi.Input<string>; /** * Add an announcement to your status page. */ announcement?: pulumi.Input<string>; /** * Modify the design of the announcement embed. */ announcementEmbedCss?: pulumi.Input<string>; /** * Point your embedded announcement to a specified URL. */ announcementEmbedLink?: pulumi.Input<string>; /** * Toggle this field if you want to show an announcement in your embed. You can embed the announcement using this snippet: * `<script src="https://uptime.betterstack.com/widgets/announcement.js" data-id="<SET STATUS_PAGE_ID>" async="async" * type="text/javascript"></script>` */ announcementEmbedVisible?: pulumi.Input<boolean>; /** * Generate automatic reports when your services go down */ automaticReports?: pulumi.Input<boolean>; /** * Name of your company. */ companyName?: pulumi.Input<string>; /** * URL of your company's website. */ companyUrl?: pulumi.Input<string>; /** * URL that should be used for contacting you in case of an emergency. */ contactUrl?: pulumi.Input<string>; /** * The time when this status page was created. */ createdAt?: pulumi.Input<string>; /** * Unleash your inner designer and tweak our status page design to fit your branding. */ customCss?: pulumi.Input<string>; /** * Do you want a custom domain on your status page? Add a CNAME record that points your domain to status.betteruptime.com. * Example: `CNAME status.walmine.com statuspage.betteruptime.com` */ customDomain?: pulumi.Input<string>; /** * Add custom behavior to your status page. It is only allowed for status pages with a custom domain name. */ customJavascript?: pulumi.Input<string>; /** * Choose between classic and modern status page design. Possible values: 'v1', 'v2'. */ design?: pulumi.Input<string>; /** * Specify your own Google Analytics ID if you want to receive hits on your status page. */ googleAnalyticsId?: pulumi.Input<string>; /** * Hide your status page from search engines. */ hideFromSearchEngines?: pulumi.Input<boolean>; /** * Number of days to display on the status page. Between 7 and 365 days. */ history?: pulumi.Input<number>; /** * List of IP addresses or CIDR ranges that are allowed to access the status page. Accepts IPv4, IPv6, CIDR ranges, and * comments starting with `#`. To remove all IP restrictions, set to an empty list `[]`. This is a [billable * feature](https://betterstack.com/pricing#status-pages). */ ipAllowlists?: pulumi.Input<pulumi.Input<string>[]>; /** * Choose usual vertical layout or space-saving horizontal layout. Only applicable when design: v2. Possible values: * 'vertical', 'horizontal'. */ layout?: pulumi.Input<string>; /** * A direct link to your company's logo. The image should be under 20MB in size. */ logoUrl?: pulumi.Input<string>; /** * If you don't want to display short incidents on your status page, this attribute is for you. */ minIncidentLength?: pulumi.Input<number>; /** * Adjust the navigation links on your status page. Only applicable when design: v2. Only first 4 links considered. */ navigationLinks?: pulumi.Input<pulumi.Input<inputs.StatusPageNavigationLink>[]>; /** * Set a password of your status page (we won't store it as plaintext, promise). Required when password_enabled: true. We * will set password_enabled: false automatically when you send us an empty password. */ password?: pulumi.Input<string>; /** * Do you want to enable password protection on your status page? */ passwordEnabled?: pulumi.Input<boolean>; /** * Set this attribute if you want to add this status page to a status page group. */ statusPageGroupId?: pulumi.Input<number>; /** * What subdomain should we use for your status page? This needs to be unique across our entire application, so choose * carefully */ subdomain?: pulumi.Input<string>; /** * Do you want to allow users to subscribe to your status page changes? */ subscribable?: pulumi.Input<boolean>; /** * Choose theme of your status page. Only applicable when design: v2. Possible values: 'light', 'dark'. */ theme?: pulumi.Input<string>; /** * What timezone should we display your status page in? The accepted values can be found in the Rails TimeZone * documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html */ timezone?: pulumi.Input<string>; /** * The time when this status page was updated. */ updatedAt?: pulumi.Input<string>; } /** * The set of arguments for constructing a StatusPage resource. */ export interface StatusPageArgs { /** * Add an announcement to your status page. */ announcement?: pulumi.Input<string>; /** * Modify the design of the announcement embed. */ announcementEmbedCss?: pulumi.Input<string>; /** * Point your embedded announcement to a specified URL. */ announcementEmbedLink?: pulumi.Input<string>; /** * Toggle this field if you want to show an announcement in your embed. You can embed the announcement using this snippet: * `<script src="https://uptime.betterstack.com/widgets/announcement.js" data-id="<SET STATUS_PAGE_ID>" async="async" * type="text/javascript"></script>` */ announcementEmbedVisible?: pulumi.Input<boolean>; /** * Generate automatic reports when your services go down */ automaticReports?: pulumi.Input<boolean>; /** * Name of your company. */ companyName: pulumi.Input<string>; /** * URL of your company's website. */ companyUrl: pulumi.Input<string>; /** * URL that should be used for contacting you in case of an emergency. */ contactUrl?: pulumi.Input<string>; /** * Unleash your inner designer and tweak our status page design to fit your branding. */ customCss?: pulumi.Input<string>; /** * Do you want a custom domain on your status page? Add a CNAME record that points your domain to status.betteruptime.com. * Example: `CNAME status.walmine.com statuspage.betteruptime.com` */ customDomain?: pulumi.Input<string>; /** * Add custom behavior to your status page. It is only allowed for status pages with a custom domain name. */ customJavascript?: pulumi.Input<string>; /** * Choose between classic and modern status page design. Possible values: 'v1', 'v2'. */ design?: pulumi.Input<string>; /** * Specify your own Google Analytics ID if you want to receive hits on your status page. */ googleAnalyticsId?: pulumi.Input<string>; /** * Hide your status page from search engines. */ hideFromSearchEngines?: pulumi.Input<boolean>; /** * Number of days to display on the status page. Between 7 and 365 days. */ history?: pulumi.Input<number>; /** * List of IP addresses or CIDR ranges that are allowed to access the status page. Accepts IPv4, IPv6, CIDR ranges, and * comments starting with `#`. To remove all IP restrictions, set to an empty list `[]`. This is a [billable * feature](https://betterstack.com/pricing#status-pages). */ ipAllowlists?: pulumi.Input<pulumi.Input<string>[]>; /** * Choose usual vertical layout or space-saving horizontal layout. Only applicable when design: v2. Possible values: * 'vertical', 'horizontal'. */ layout?: pulumi.Input<string>; /** * A direct link to your company's logo. The image should be under 20MB in size. */ logoUrl?: pulumi.Input<string>; /** * If you don't want to display short incidents on your status page, this attribute is for you. */ minIncidentLength?: pulumi.Input<number>; /** * Adjust the navigation links on your status page. Only applicable when design: v2. Only first 4 links considered. */ navigationLinks?: pulumi.Input<pulumi.Input<inputs.StatusPageNavigationLink>[]>; /** * Set a password of your status page (we won't store it as plaintext, promise). Required when password_enabled: true. We * will set password_enabled: false automatically when you send us an empty password. */ password?: pulumi.Input<string>; /** * Do you want to enable password protection on your status page? */ passwordEnabled?: pulumi.Input<boolean>; /** * Set this attribute if you want to add this status page to a status page group. */ statusPageGroupId?: pulumi.Input<number>; /** * What subdomain should we use for your status page? This needs to be unique across our entire application, so choose * carefully */ subdomain: pulumi.Input<string>; /** * Do you want to allow users to subscribe to your status page changes? */ subscribable?: pulumi.Input<boolean>; /** * Choose theme of your status page. Only applicable when design: v2. Possible values: 'light', 'dark'. */ theme?: pulumi.Input<string>; /** * What timezone should we display your status page in? The accepted values can be found in the Rails TimeZone * documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html */ timezone: pulumi.Input<string>; }