UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

809 lines 59 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ClouddeployDeployPolicyConfig extends cdktf.TerraformMetaArguments { /** * Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash ('/'). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ('[a-z0-9A-Z]') with dashes ('-'), underscores ('_'), dots ('.'), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots('.'), not longer than 253 characters in total, followed by a slash ('/'). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details. * * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration. * Please refer to the field 'effective_annotations' for all of the annotations present on the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#annotations ClouddeployDeployPolicy#annotations} */ readonly annotations?: { [key: string]: string; }; /** * Optional. Description of the 'DeployPolicy'. Max length is 255 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#description ClouddeployDeployPolicy#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#id ClouddeployDeployPolicy#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 63 characters. * * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field 'effective_labels' for all of the labels present on the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#labels ClouddeployDeployPolicy#labels} */ readonly labels?: { [key: string]: string; }; /** * The location for the resource * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#location ClouddeployDeployPolicy#location} */ readonly location: string; /** * Name of the 'DeployPolicy'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#name ClouddeployDeployPolicy#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#project ClouddeployDeployPolicy#project} */ readonly project?: string; /** * Optional. When suspended, the policy will not prevent actions from occurring, even if the action violates the policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#suspended ClouddeployDeployPolicy#suspended} */ readonly suspended?: boolean | cdktf.IResolvable; /** * rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#rules ClouddeployDeployPolicy#rules} */ readonly rules: ClouddeployDeployPolicyRules[] | cdktf.IResolvable; /** * selectors block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#selectors ClouddeployDeployPolicy#selectors} */ readonly selectors: ClouddeployDeployPolicySelectors[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#timeouts ClouddeployDeployPolicy#timeouts} */ readonly timeouts?: ClouddeployDeployPolicyTimeouts; } export interface ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDate { /** * Day of a month. Must be from 1 to 31 and valid for the year and month. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#day ClouddeployDeployPolicy#day} */ readonly day?: number; /** * Month of a year. Must be from 1 to 12. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#month ClouddeployDeployPolicy#month} */ readonly month?: number; /** * Year of the date. Must be from 1 to 9999. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#year ClouddeployDeployPolicy#year} */ readonly year?: number; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDateToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDateOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDate): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDateToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDateOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDate): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDateOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDate | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDate | undefined); private _day?; get day(): number; set day(value: number); resetDay(): void; get dayInput(): number | undefined; private _month?; get month(): number; set month(value: number); resetMonth(): void; get monthInput(): number | undefined; private _year?; get year(): number; set year(value: number); resetYear(): void; get yearInput(): number | undefined; } export interface ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTime { /** * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#hours ClouddeployDeployPolicy#hours} */ readonly hours?: number; /** * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#minutes ClouddeployDeployPolicy#minutes} */ readonly minutes?: number; /** * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#nanos ClouddeployDeployPolicy#nanos} */ readonly nanos?: number; /** * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#seconds ClouddeployDeployPolicy#seconds} */ readonly seconds?: number; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTimeToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTimeOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTime): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTimeToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTimeOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTime): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTimeOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTime | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTime | undefined); private _hours?; get hours(): number; set hours(value: number); resetHours(): void; get hoursInput(): number | undefined; private _minutes?; get minutes(): number; set minutes(value: number); resetMinutes(): void; get minutesInput(): number | undefined; private _nanos?; get nanos(): number; set nanos(value: number); resetNanos(): void; get nanosInput(): number | undefined; private _seconds?; get seconds(): number; set seconds(value: number); resetSeconds(): void; get secondsInput(): number | undefined; } export interface ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDate { /** * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#day ClouddeployDeployPolicy#day} */ readonly day?: number; /** * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#month ClouddeployDeployPolicy#month} */ readonly month?: number; /** * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#year ClouddeployDeployPolicy#year} */ readonly year?: number; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDateToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDateOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDate): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDateToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDateOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDate): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDateOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDate | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDate | undefined); private _day?; get day(): number; set day(value: number); resetDay(): void; get dayInput(): number | undefined; private _month?; get month(): number; set month(value: number); resetMonth(): void; get monthInput(): number | undefined; private _year?; get year(): number; set year(value: number); resetYear(): void; get yearInput(): number | undefined; } export interface ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTime { /** * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#hours ClouddeployDeployPolicy#hours} */ readonly hours?: number; /** * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#minutes ClouddeployDeployPolicy#minutes} */ readonly minutes?: number; /** * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#nanos ClouddeployDeployPolicy#nanos} */ readonly nanos?: number; /** * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#seconds ClouddeployDeployPolicy#seconds} */ readonly seconds?: number; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTimeToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTimeOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTime): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTimeToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTimeOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTime): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTimeOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTime | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTime | undefined); private _hours?; get hours(): number; set hours(value: number); resetHours(): void; get hoursInput(): number | undefined; private _minutes?; get minutes(): number; set minutes(value: number); resetMinutes(): void; get minutesInput(): number | undefined; private _nanos?; get nanos(): number; set nanos(value: number); resetNanos(): void; get nanosInput(): number | undefined; private _seconds?; get seconds(): number; set seconds(value: number); resetSeconds(): void; get secondsInput(): number | undefined; } export interface ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindows { /** * end_date block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#end_date ClouddeployDeployPolicy#end_date} */ readonly endDate: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDate; /** * end_time block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#end_time ClouddeployDeployPolicy#end_time} */ readonly endTime: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTime; /** * start_date block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#start_date ClouddeployDeployPolicy#start_date} */ readonly startDate: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDate; /** * start_time block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#start_time ClouddeployDeployPolicy#start_time} */ readonly startTime: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTime; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindows | cdktf.IResolvable): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindows | cdktf.IResolvable): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindows | cdktf.IResolvable | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindows | cdktf.IResolvable | undefined); private _endDate; get endDate(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDateOutputReference; putEndDate(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDate): void; get endDateInput(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndDate | undefined; private _endTime; get endTime(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTimeOutputReference; putEndTime(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTime): void; get endTimeInput(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsEndTime | undefined; private _startDate; get startDate(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDateOutputReference; putStartDate(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDate): void; get startDateInput(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartDate | undefined; private _startTime; get startTime(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTimeOutputReference; putStartTime(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTime): void; get startTimeInput(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsStartTime | undefined; } export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindows[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsOutputReference; } export interface ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTime { /** * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#hours ClouddeployDeployPolicy#hours} */ readonly hours?: number; /** * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#minutes ClouddeployDeployPolicy#minutes} */ readonly minutes?: number; /** * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#nanos ClouddeployDeployPolicy#nanos} */ readonly nanos?: number; /** * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#seconds ClouddeployDeployPolicy#seconds} */ readonly seconds?: number; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTimeToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTimeOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTime): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTimeToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTimeOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTime): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTimeOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTime | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTime | undefined); private _hours?; get hours(): number; set hours(value: number); resetHours(): void; get hoursInput(): number | undefined; private _minutes?; get minutes(): number; set minutes(value: number); resetMinutes(): void; get minutesInput(): number | undefined; private _nanos?; get nanos(): number; set nanos(value: number); resetNanos(): void; get nanosInput(): number | undefined; private _seconds?; get seconds(): number; set seconds(value: number); resetSeconds(): void; get secondsInput(): number | undefined; } export interface ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTime { /** * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#hours ClouddeployDeployPolicy#hours} */ readonly hours?: number; /** * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#minutes ClouddeployDeployPolicy#minutes} */ readonly minutes?: number; /** * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#nanos ClouddeployDeployPolicy#nanos} */ readonly nanos?: number; /** * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#seconds ClouddeployDeployPolicy#seconds} */ readonly seconds?: number; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTimeToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTimeOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTime): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTimeToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTimeOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTime): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTimeOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTime | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTime | undefined); private _hours?; get hours(): number; set hours(value: number); resetHours(): void; get hoursInput(): number | undefined; private _minutes?; get minutes(): number; set minutes(value: number); resetMinutes(): void; get minutesInput(): number | undefined; private _nanos?; get nanos(): number; set nanos(value: number); resetNanos(): void; get nanosInput(): number | undefined; private _seconds?; get seconds(): number; set seconds(value: number); resetSeconds(): void; get secondsInput(): number | undefined; } export interface ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindows { /** * Optional. Days of week. If left empty, all days of the week will be included. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#days_of_week ClouddeployDeployPolicy#days_of_week} */ readonly daysOfWeek?: string[]; /** * end_time block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#end_time ClouddeployDeployPolicy#end_time} */ readonly endTime?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTime; /** * start_time block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#start_time ClouddeployDeployPolicy#start_time} */ readonly startTime?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTime; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindows | cdktf.IResolvable): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindows | cdktf.IResolvable): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindows | cdktf.IResolvable | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindows | cdktf.IResolvable | undefined); private _daysOfWeek?; get daysOfWeek(): string[]; set daysOfWeek(value: string[]); resetDaysOfWeek(): void; get daysOfWeekInput(): string[] | undefined; private _endTime; get endTime(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTimeOutputReference; putEndTime(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTime): void; resetEndTime(): void; get endTimeInput(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsEndTime | undefined; private _startTime; get startTime(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTimeOutputReference; putStartTime(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTime): void; resetStartTime(): void; get startTimeInput(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsStartTime | undefined; } export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindows[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsOutputReference; } export interface ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindows { /** * Required. The time zone in IANA format IANA Time Zone Database (e.g. America/New_York). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#time_zone ClouddeployDeployPolicy#time_zone} */ readonly timeZone: string; /** * one_time_windows block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#one_time_windows ClouddeployDeployPolicy#one_time_windows} */ readonly oneTimeWindows?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindows[] | cdktf.IResolvable; /** * weekly_windows block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#weekly_windows ClouddeployDeployPolicy#weekly_windows} */ readonly weeklyWindows?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindows[] | cdktf.IResolvable; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindows): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOutputReference | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindows): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindows | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindows | undefined); private _timeZone?; get timeZone(): string; set timeZone(value: string); get timeZoneInput(): string | undefined; private _oneTimeWindows; get oneTimeWindows(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindowsList; putOneTimeWindows(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindows[] | cdktf.IResolvable): void; resetOneTimeWindows(): void; get oneTimeWindowsInput(): cdktf.IResolvable | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOneTimeWindows[] | undefined; private _weeklyWindows; get weeklyWindows(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindowsList; putWeeklyWindows(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindows[] | cdktf.IResolvable): void; resetWeeklyWindows(): void; get weeklyWindowsInput(): cdktf.IResolvable | ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsWeeklyWindows[] | undefined; } export interface ClouddeployDeployPolicyRulesRolloutRestriction { /** * Optional. Rollout actions to be restricted as part of the policy. If left empty, all actions will be restricted. Possible values: ["ADVANCE", "APPROVE", "CANCEL", "CREATE", "IGNORE_JOB", "RETRY_JOB", "ROLLBACK", "TERMINATE_JOBRUN"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#actions ClouddeployDeployPolicy#actions} */ readonly actions?: string[]; /** * Required. ID of the rule. This id must be unique in the 'DeployPolicy' resource to which this rule belongs. The format is 'a-z{0,62}'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#id ClouddeployDeployPolicy#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id: string; /** * Optional. What invoked the action. If left empty, all invoker types will be restricted. Possible values: ["USER", "DEPLOY_AUTOMATION"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#invokers ClouddeployDeployPolicy#invokers} */ readonly invokers?: string[]; /** * time_windows block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#time_windows ClouddeployDeployPolicy#time_windows} */ readonly timeWindows?: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindows; } export declare function clouddeployDeployPolicyRulesRolloutRestrictionToTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionOutputReference | ClouddeployDeployPolicyRulesRolloutRestriction): any; export declare function clouddeployDeployPolicyRulesRolloutRestrictionToHclTerraform(struct?: ClouddeployDeployPolicyRulesRolloutRestrictionOutputReference | ClouddeployDeployPolicyRulesRolloutRestriction): any; export declare class ClouddeployDeployPolicyRulesRolloutRestrictionOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicyRulesRolloutRestriction | undefined; set internalValue(value: ClouddeployDeployPolicyRulesRolloutRestriction | undefined); private _actions?; get actions(): string[]; set actions(value: string[]); resetActions(): void; get actionsInput(): string[] | undefined; private _id?; get id(): string; set id(value: string); get idInput(): string | undefined; private _invokers?; get invokers(): string[]; set invokers(value: string[]); resetInvokers(): void; get invokersInput(): string[] | undefined; private _timeWindows; get timeWindows(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindowsOutputReference; putTimeWindows(value: ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindows): void; resetTimeWindows(): void; get timeWindowsInput(): ClouddeployDeployPolicyRulesRolloutRestrictionTimeWindows | undefined; } export interface ClouddeployDeployPolicyRules { /** * rollout_restriction block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#rollout_restriction ClouddeployDeployPolicy#rollout_restriction} */ readonly rolloutRestriction?: ClouddeployDeployPolicyRulesRolloutRestriction; } export declare function clouddeployDeployPolicyRulesToTerraform(struct?: ClouddeployDeployPolicyRules | cdktf.IResolvable): any; export declare function clouddeployDeployPolicyRulesToHclTerraform(struct?: ClouddeployDeployPolicyRules | cdktf.IResolvable): any; export declare class ClouddeployDeployPolicyRulesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ClouddeployDeployPolicyRules | cdktf.IResolvable | undefined; set internalValue(value: ClouddeployDeployPolicyRules | cdktf.IResolvable | undefined); private _rolloutRestriction; get rolloutRestriction(): ClouddeployDeployPolicyRulesRolloutRestrictionOutputReference; putRolloutRestriction(value: ClouddeployDeployPolicyRulesRolloutRestriction): void; resetRolloutRestriction(): void; get rolloutRestrictionInput(): ClouddeployDeployPolicyRulesRolloutRestriction | undefined; } export declare class ClouddeployDeployPolicyRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ClouddeployDeployPolicyRules[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ClouddeployDeployPolicyRulesOutputReference; } export interface ClouddeployDeployPolicySelectorsDeliveryPipeline { /** * Optional. ID of the DeliveryPipeline. The value of this field could be one of the following: * - The last segment of a pipeline name * - "*", all delivery pipelines in a location * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#id ClouddeployDeployPolicy#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * DeliveryPipeline labels. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#labels ClouddeployDeployPolicy#labels} */ readonly labels?: { [key: string]: string; }; } export declare function clouddeployDeployPolicySelectorsDeliveryPipelineToTerraform(struct?: ClouddeployDeployPolicySelectorsDeliveryPipelineOutputReference | ClouddeployDeployPolicySelectorsDeliveryPipeline): any; export declare function clouddeployDeployPolicySelectorsDeliveryPipelineToHclTerraform(struct?: ClouddeployDeployPolicySelectorsDeliveryPipelineOutputReference | ClouddeployDeployPolicySelectorsDeliveryPipeline): any; export declare class ClouddeployDeployPolicySelectorsDeliveryPipelineOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicySelectorsDeliveryPipeline | undefined; set internalValue(value: ClouddeployDeployPolicySelectorsDeliveryPipeline | undefined); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; } export interface ClouddeployDeployPolicySelectorsTarget { /** * ID of the 'Target'. The value of this field could be one of the following: * The last segment of a target name. It only needs the ID to determine which target is being referred to * "*", all targets in a location. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#id ClouddeployDeployPolicy#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Target labels. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#labels ClouddeployDeployPolicy#labels} */ readonly labels?: { [key: string]: string; }; } export declare function clouddeployDeployPolicySelectorsTargetToTerraform(struct?: ClouddeployDeployPolicySelectorsTargetOutputReference | ClouddeployDeployPolicySelectorsTarget): any; export declare function clouddeployDeployPolicySelectorsTargetToHclTerraform(struct?: ClouddeployDeployPolicySelectorsTargetOutputReference | ClouddeployDeployPolicySelectorsTarget): any; export declare class ClouddeployDeployPolicySelectorsTargetOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ClouddeployDeployPolicySelectorsTarget | undefined; set internalValue(value: ClouddeployDeployPolicySelectorsTarget | undefined); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; } export interface ClouddeployDeployPolicySelectors { /** * delivery_pipeline block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#delivery_pipeline ClouddeployDeployPolicy#delivery_pipeline} */ readonly deliveryPipeline?: ClouddeployDeployPolicySelectorsDeliveryPipeline; /** * target block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/clouddeploy_deploy_policy#target ClouddeployDeployPolicy#target} */ readonly target?: ClouddeployDeployPolicySelectorsTarget; } export declare