@pulumiverse/fortios
Version:
A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0
786 lines (785 loc) • 24.9 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Action for automation stitches.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as fortios from "@pulumiverse/fortios";
*
* const trname = new fortios.system.Automationaction("trname", {
* actionType: "email",
* awsDomain: "amazonaws.com",
* delay: 0,
* emailSubject: "SUBJECT1",
* method: "post",
* minimumInterval: 1,
* protocol: "http",
* required: "disable",
* });
* ```
*
* ## Import
*
* System AutomationAction can be imported using any of these accepted formats:
*
* ```sh
* $ pulumi import fortios:system/automationaction:Automationaction labelname {{name}}
* ```
*
* If you do not want to import arguments of block:
*
* $ export "FORTIOS_IMPORT_TABLE"="false"
*
* ```sh
* $ pulumi import fortios:system/automationaction:Automationaction labelname {{name}}
* ```
*
* $ unset "FORTIOS_IMPORT_TABLE"
*/
export declare class Automationaction extends pulumi.CustomResource {
/**
* Get an existing Automationaction 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?: AutomationactionState, opts?: pulumi.CustomResourceOptions): Automationaction;
/**
* Returns true if the given object is an instance of Automationaction. 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 Automationaction;
/**
* Access profile for CLI script action to access FortiGate features.
*/
readonly accprofile: pulumi.Output<string>;
/**
* Action type.
*/
readonly actionType: pulumi.Output<string>;
/**
* AliCloud AccessKey ID.
*/
readonly alicloudAccessKeyId: pulumi.Output<string>;
/**
* AliCloud AccessKey secret.
*/
readonly alicloudAccessKeySecret: pulumi.Output<string | undefined>;
/**
* AliCloud account ID.
*/
readonly alicloudAccountId: pulumi.Output<string>;
/**
* AliCloud function name.
*/
readonly alicloudFunction: pulumi.Output<string>;
/**
* AliCloud function authorization type. Valid values: `anonymous`, `function`.
*/
readonly alicloudFunctionAuthorization: pulumi.Output<string>;
/**
* AliCloud function domain.
*/
readonly alicloudFunctionDomain: pulumi.Output<string>;
/**
* AliCloud region.
*/
readonly alicloudRegion: pulumi.Output<string>;
/**
* AliCloud service name.
*/
readonly alicloudService: pulumi.Output<string>;
/**
* AliCloud version.
*/
readonly alicloudVersion: pulumi.Output<string>;
/**
* AWS API Gateway ID.
*/
readonly awsApiId: pulumi.Output<string>;
/**
* AWS API Gateway API key.
*/
readonly awsApiKey: pulumi.Output<string | undefined>;
/**
* AWS API Gateway path.
*/
readonly awsApiPath: pulumi.Output<string>;
/**
* AWS API Gateway deployment stage name.
*/
readonly awsApiStage: pulumi.Output<string>;
/**
* AWS domain.
*/
readonly awsDomain: pulumi.Output<string>;
/**
* AWS region.
*/
readonly awsRegion: pulumi.Output<string>;
/**
* Azure function API key.
*/
readonly azureApiKey: pulumi.Output<string | undefined>;
/**
* Azure function application name.
*/
readonly azureApp: pulumi.Output<string>;
/**
* Azure function domain.
*/
readonly azureDomain: pulumi.Output<string>;
/**
* Azure function name.
*/
readonly azureFunction: pulumi.Output<string>;
/**
* Azure function authorization level. Valid values: `anonymous`, `function`, `admin`.
*/
readonly azureFunctionAuthorization: pulumi.Output<string>;
/**
* Delay before execution (in seconds).
*/
readonly delay: pulumi.Output<number>;
/**
* Description.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
readonly dynamicSortSubtable: pulumi.Output<string | undefined>;
/**
* Email body.
*/
readonly emailBody: pulumi.Output<string>;
/**
* Email sender name.
*/
readonly emailFrom: pulumi.Output<string | undefined>;
/**
* Email subject.
*/
readonly emailSubject: pulumi.Output<string | undefined>;
/**
* Email addresses. The structure of `emailTo` block is documented below.
*/
readonly emailTos: pulumi.Output<outputs.system.AutomationactionEmailTo[] | undefined>;
/**
* Enable/disable execution of CLI script on all or only one FortiGate unit in the Security Fabric. Valid values: `enable`, `disable`.
*/
readonly executeSecurityFabric: pulumi.Output<string>;
/**
* Enable/disable use of your FortiCare email address as the email-to address. Valid values: `enable`, `disable`.
*/
readonly forticareEmail: pulumi.Output<string>;
/**
* Google Cloud function name.
*/
readonly gcpFunction: pulumi.Output<string>;
/**
* Google Cloud function domain.
*/
readonly gcpFunctionDomain: pulumi.Output<string>;
/**
* Google Cloud function region.
*/
readonly gcpFunctionRegion: pulumi.Output<string>;
/**
* Google Cloud Platform project name.
*/
readonly gcpProject: pulumi.Output<string>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
readonly getAllTables: pulumi.Output<string | undefined>;
/**
* Request headers. The structure of `headers` block is documented below.
*/
readonly headers: pulumi.Output<outputs.system.AutomationactionHeader[] | undefined>;
/**
* Request body (if necessary). Should be serialized json string.
*/
readonly httpBody: pulumi.Output<string | undefined>;
/**
* Request headers. The structure of `httpHeaders` block is documented below.
*/
readonly httpHeaders: pulumi.Output<outputs.system.AutomationactionHttpHeader[] | undefined>;
/**
* Message content.
*/
readonly message: pulumi.Output<string>;
/**
* Message type. Valid values: `text`, `json`.
*/
readonly messageType: pulumi.Output<string>;
/**
* Request method (POST, PUT, GET, PATCH or DELETE). Valid values: `post`, `put`, `get`, `patch`, `delete`.
*/
readonly method: pulumi.Output<string>;
/**
* Limit execution to no more than once in this interval (in seconds).
*/
readonly minimumInterval: pulumi.Output<number>;
/**
* Name.
*/
readonly name: pulumi.Output<string>;
/**
* Number of megabytes to limit script output to (1 - 1024, default = 10).
*/
readonly outputSize: pulumi.Output<number>;
/**
* Protocol port.
*/
readonly port: pulumi.Output<number>;
/**
* Request protocol. Valid values: `http`, `https`.
*/
readonly protocol: pulumi.Output<string>;
/**
* Enable/disable replacement message. Valid values: `enable`, `disable`.
*/
readonly replacementMessage: pulumi.Output<string>;
/**
* Replacement message group.
*/
readonly replacemsgGroup: pulumi.Output<string>;
/**
* Required in action chain. Valid values: `enable`, `disable`.
*/
readonly required: pulumi.Output<string>;
/**
* CLI script.
*/
readonly script: pulumi.Output<string | undefined>;
/**
* NSX SDN connector names. The structure of `sdnConnector` block is documented below.
*/
readonly sdnConnectors: pulumi.Output<outputs.system.AutomationactionSdnConnector[] | undefined>;
/**
* NSX security tag.
*/
readonly securityTag: pulumi.Output<string>;
/**
* System action type. Valid values: `reboot`, `shutdown`, `backup-config`.
*/
readonly systemAction: pulumi.Output<string>;
/**
* Maximum running time for this script in seconds (0 = no timeout).
*/
readonly timeout: pulumi.Output<number>;
/**
* Custom TLS certificate for API request.
*/
readonly tlsCertificate: pulumi.Output<string>;
/**
* Request API URI.
*/
readonly uri: pulumi.Output<string | undefined>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
readonly vdomparam: pulumi.Output<string>;
/**
* Enable/disable verification of the remote host certificate. Valid values: `enable`, `disable`.
*/
readonly verifyHostCert: pulumi.Output<string>;
/**
* Create a Automationaction 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?: AutomationactionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Automationaction resources.
*/
export interface AutomationactionState {
/**
* Access profile for CLI script action to access FortiGate features.
*/
accprofile?: pulumi.Input<string>;
/**
* Action type.
*/
actionType?: pulumi.Input<string>;
/**
* AliCloud AccessKey ID.
*/
alicloudAccessKeyId?: pulumi.Input<string>;
/**
* AliCloud AccessKey secret.
*/
alicloudAccessKeySecret?: pulumi.Input<string>;
/**
* AliCloud account ID.
*/
alicloudAccountId?: pulumi.Input<string>;
/**
* AliCloud function name.
*/
alicloudFunction?: pulumi.Input<string>;
/**
* AliCloud function authorization type. Valid values: `anonymous`, `function`.
*/
alicloudFunctionAuthorization?: pulumi.Input<string>;
/**
* AliCloud function domain.
*/
alicloudFunctionDomain?: pulumi.Input<string>;
/**
* AliCloud region.
*/
alicloudRegion?: pulumi.Input<string>;
/**
* AliCloud service name.
*/
alicloudService?: pulumi.Input<string>;
/**
* AliCloud version.
*/
alicloudVersion?: pulumi.Input<string>;
/**
* AWS API Gateway ID.
*/
awsApiId?: pulumi.Input<string>;
/**
* AWS API Gateway API key.
*/
awsApiKey?: pulumi.Input<string>;
/**
* AWS API Gateway path.
*/
awsApiPath?: pulumi.Input<string>;
/**
* AWS API Gateway deployment stage name.
*/
awsApiStage?: pulumi.Input<string>;
/**
* AWS domain.
*/
awsDomain?: pulumi.Input<string>;
/**
* AWS region.
*/
awsRegion?: pulumi.Input<string>;
/**
* Azure function API key.
*/
azureApiKey?: pulumi.Input<string>;
/**
* Azure function application name.
*/
azureApp?: pulumi.Input<string>;
/**
* Azure function domain.
*/
azureDomain?: pulumi.Input<string>;
/**
* Azure function name.
*/
azureFunction?: pulumi.Input<string>;
/**
* Azure function authorization level. Valid values: `anonymous`, `function`, `admin`.
*/
azureFunctionAuthorization?: pulumi.Input<string>;
/**
* Delay before execution (in seconds).
*/
delay?: pulumi.Input<number>;
/**
* Description.
*/
description?: pulumi.Input<string>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* Email body.
*/
emailBody?: pulumi.Input<string>;
/**
* Email sender name.
*/
emailFrom?: pulumi.Input<string>;
/**
* Email subject.
*/
emailSubject?: pulumi.Input<string>;
/**
* Email addresses. The structure of `emailTo` block is documented below.
*/
emailTos?: pulumi.Input<pulumi.Input<inputs.system.AutomationactionEmailTo>[]>;
/**
* Enable/disable execution of CLI script on all or only one FortiGate unit in the Security Fabric. Valid values: `enable`, `disable`.
*/
executeSecurityFabric?: pulumi.Input<string>;
/**
* Enable/disable use of your FortiCare email address as the email-to address. Valid values: `enable`, `disable`.
*/
forticareEmail?: pulumi.Input<string>;
/**
* Google Cloud function name.
*/
gcpFunction?: pulumi.Input<string>;
/**
* Google Cloud function domain.
*/
gcpFunctionDomain?: pulumi.Input<string>;
/**
* Google Cloud function region.
*/
gcpFunctionRegion?: pulumi.Input<string>;
/**
* Google Cloud Platform project name.
*/
gcpProject?: pulumi.Input<string>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* Request headers. The structure of `headers` block is documented below.
*/
headers?: pulumi.Input<pulumi.Input<inputs.system.AutomationactionHeader>[]>;
/**
* Request body (if necessary). Should be serialized json string.
*/
httpBody?: pulumi.Input<string>;
/**
* Request headers. The structure of `httpHeaders` block is documented below.
*/
httpHeaders?: pulumi.Input<pulumi.Input<inputs.system.AutomationactionHttpHeader>[]>;
/**
* Message content.
*/
message?: pulumi.Input<string>;
/**
* Message type. Valid values: `text`, `json`.
*/
messageType?: pulumi.Input<string>;
/**
* Request method (POST, PUT, GET, PATCH or DELETE). Valid values: `post`, `put`, `get`, `patch`, `delete`.
*/
method?: pulumi.Input<string>;
/**
* Limit execution to no more than once in this interval (in seconds).
*/
minimumInterval?: pulumi.Input<number>;
/**
* Name.
*/
name?: pulumi.Input<string>;
/**
* Number of megabytes to limit script output to (1 - 1024, default = 10).
*/
outputSize?: pulumi.Input<number>;
/**
* Protocol port.
*/
port?: pulumi.Input<number>;
/**
* Request protocol. Valid values: `http`, `https`.
*/
protocol?: pulumi.Input<string>;
/**
* Enable/disable replacement message. Valid values: `enable`, `disable`.
*/
replacementMessage?: pulumi.Input<string>;
/**
* Replacement message group.
*/
replacemsgGroup?: pulumi.Input<string>;
/**
* Required in action chain. Valid values: `enable`, `disable`.
*/
required?: pulumi.Input<string>;
/**
* CLI script.
*/
script?: pulumi.Input<string>;
/**
* NSX SDN connector names. The structure of `sdnConnector` block is documented below.
*/
sdnConnectors?: pulumi.Input<pulumi.Input<inputs.system.AutomationactionSdnConnector>[]>;
/**
* NSX security tag.
*/
securityTag?: pulumi.Input<string>;
/**
* System action type. Valid values: `reboot`, `shutdown`, `backup-config`.
*/
systemAction?: pulumi.Input<string>;
/**
* Maximum running time for this script in seconds (0 = no timeout).
*/
timeout?: pulumi.Input<number>;
/**
* Custom TLS certificate for API request.
*/
tlsCertificate?: pulumi.Input<string>;
/**
* Request API URI.
*/
uri?: pulumi.Input<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
vdomparam?: pulumi.Input<string>;
/**
* Enable/disable verification of the remote host certificate. Valid values: `enable`, `disable`.
*/
verifyHostCert?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Automationaction resource.
*/
export interface AutomationactionArgs {
/**
* Access profile for CLI script action to access FortiGate features.
*/
accprofile?: pulumi.Input<string>;
/**
* Action type.
*/
actionType?: pulumi.Input<string>;
/**
* AliCloud AccessKey ID.
*/
alicloudAccessKeyId?: pulumi.Input<string>;
/**
* AliCloud AccessKey secret.
*/
alicloudAccessKeySecret?: pulumi.Input<string>;
/**
* AliCloud account ID.
*/
alicloudAccountId?: pulumi.Input<string>;
/**
* AliCloud function name.
*/
alicloudFunction?: pulumi.Input<string>;
/**
* AliCloud function authorization type. Valid values: `anonymous`, `function`.
*/
alicloudFunctionAuthorization?: pulumi.Input<string>;
/**
* AliCloud function domain.
*/
alicloudFunctionDomain?: pulumi.Input<string>;
/**
* AliCloud region.
*/
alicloudRegion?: pulumi.Input<string>;
/**
* AliCloud service name.
*/
alicloudService?: pulumi.Input<string>;
/**
* AliCloud version.
*/
alicloudVersion?: pulumi.Input<string>;
/**
* AWS API Gateway ID.
*/
awsApiId?: pulumi.Input<string>;
/**
* AWS API Gateway API key.
*/
awsApiKey?: pulumi.Input<string>;
/**
* AWS API Gateway path.
*/
awsApiPath?: pulumi.Input<string>;
/**
* AWS API Gateway deployment stage name.
*/
awsApiStage?: pulumi.Input<string>;
/**
* AWS domain.
*/
awsDomain?: pulumi.Input<string>;
/**
* AWS region.
*/
awsRegion?: pulumi.Input<string>;
/**
* Azure function API key.
*/
azureApiKey?: pulumi.Input<string>;
/**
* Azure function application name.
*/
azureApp?: pulumi.Input<string>;
/**
* Azure function domain.
*/
azureDomain?: pulumi.Input<string>;
/**
* Azure function name.
*/
azureFunction?: pulumi.Input<string>;
/**
* Azure function authorization level. Valid values: `anonymous`, `function`, `admin`.
*/
azureFunctionAuthorization?: pulumi.Input<string>;
/**
* Delay before execution (in seconds).
*/
delay?: pulumi.Input<number>;
/**
* Description.
*/
description?: pulumi.Input<string>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* Email body.
*/
emailBody?: pulumi.Input<string>;
/**
* Email sender name.
*/
emailFrom?: pulumi.Input<string>;
/**
* Email subject.
*/
emailSubject?: pulumi.Input<string>;
/**
* Email addresses. The structure of `emailTo` block is documented below.
*/
emailTos?: pulumi.Input<pulumi.Input<inputs.system.AutomationactionEmailTo>[]>;
/**
* Enable/disable execution of CLI script on all or only one FortiGate unit in the Security Fabric. Valid values: `enable`, `disable`.
*/
executeSecurityFabric?: pulumi.Input<string>;
/**
* Enable/disable use of your FortiCare email address as the email-to address. Valid values: `enable`, `disable`.
*/
forticareEmail?: pulumi.Input<string>;
/**
* Google Cloud function name.
*/
gcpFunction?: pulumi.Input<string>;
/**
* Google Cloud function domain.
*/
gcpFunctionDomain?: pulumi.Input<string>;
/**
* Google Cloud function region.
*/
gcpFunctionRegion?: pulumi.Input<string>;
/**
* Google Cloud Platform project name.
*/
gcpProject?: pulumi.Input<string>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* Request headers. The structure of `headers` block is documented below.
*/
headers?: pulumi.Input<pulumi.Input<inputs.system.AutomationactionHeader>[]>;
/**
* Request body (if necessary). Should be serialized json string.
*/
httpBody?: pulumi.Input<string>;
/**
* Request headers. The structure of `httpHeaders` block is documented below.
*/
httpHeaders?: pulumi.Input<pulumi.Input<inputs.system.AutomationactionHttpHeader>[]>;
/**
* Message content.
*/
message?: pulumi.Input<string>;
/**
* Message type. Valid values: `text`, `json`.
*/
messageType?: pulumi.Input<string>;
/**
* Request method (POST, PUT, GET, PATCH or DELETE). Valid values: `post`, `put`, `get`, `patch`, `delete`.
*/
method?: pulumi.Input<string>;
/**
* Limit execution to no more than once in this interval (in seconds).
*/
minimumInterval?: pulumi.Input<number>;
/**
* Name.
*/
name?: pulumi.Input<string>;
/**
* Number of megabytes to limit script output to (1 - 1024, default = 10).
*/
outputSize?: pulumi.Input<number>;
/**
* Protocol port.
*/
port?: pulumi.Input<number>;
/**
* Request protocol. Valid values: `http`, `https`.
*/
protocol?: pulumi.Input<string>;
/**
* Enable/disable replacement message. Valid values: `enable`, `disable`.
*/
replacementMessage?: pulumi.Input<string>;
/**
* Replacement message group.
*/
replacemsgGroup?: pulumi.Input<string>;
/**
* Required in action chain. Valid values: `enable`, `disable`.
*/
required?: pulumi.Input<string>;
/**
* CLI script.
*/
script?: pulumi.Input<string>;
/**
* NSX SDN connector names. The structure of `sdnConnector` block is documented below.
*/
sdnConnectors?: pulumi.Input<pulumi.Input<inputs.system.AutomationactionSdnConnector>[]>;
/**
* NSX security tag.
*/
securityTag?: pulumi.Input<string>;
/**
* System action type. Valid values: `reboot`, `shutdown`, `backup-config`.
*/
systemAction?: pulumi.Input<string>;
/**
* Maximum running time for this script in seconds (0 = no timeout).
*/
timeout?: pulumi.Input<number>;
/**
* Custom TLS certificate for API request.
*/
tlsCertificate?: pulumi.Input<string>;
/**
* Request API URI.
*/
uri?: pulumi.Input<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
vdomparam?: pulumi.Input<string>;
/**
* Enable/disable verification of the remote host certificate. Valid values: `enable`, `disable`.
*/
verifyHostCert?: pulumi.Input<string>;
}