UNPKG

@pulumi/sdwan

Version:

A Pulumi package for managing resources on Cisco Catalyst SD-WAN.. Based on terraform-provider-sdwan: version v0.4.1

535 lines (534 loc) 17.3 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource can manage a cEdge AAA feature template. * - Minimum SD-WAN Manager version: `15.0.0` * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as sdwan from "@pulumi/sdwan"; * * const example = new sdwan.CedgeAaaFeatureTemplate("example", { * name: "Example", * description: "My Example", * deviceTypes: ["vedge-C8000V"], * dot1xAuthentication: true, * dot1xAccounting: true, * serverGroupsPriorityOrder: "100", * users: [{ * name: "user1", * password: "password123", * secret: "secret123", * privilegeLevel: "15", * sshPubkeys: [{ * keyString: "abc123", * keyType: "rsa", * }], * }], * radiusServerGroups: [{ * groupName: "GROUP1", * vpnId: 1, * sourceInterface: "e1", * servers: [{ * address: "1.1.1.1", * authenticationPort: 1812, * accountingPort: 1813, * timeout: 5, * retransmit: 3, * key: "key123", * secretKey: "1234567", * encryptionType: "7", * keyType: "pac", * }], * }], * radiusClients: [{ * clientIp: "2.2.2.2", * vpnConfigurations: [{ * vpnId: 1, * serverKey: "key123", * }], * }], * radiusDynamicAuthorServerKey: "key123", * radiusDynamicAuthorDomainStripping: "yes", * radiusDynamicAuthorAuthenticationType: "all", * radiusDynamicAuthorPort: 1700, * radiusTrustsecCtsAuthorizationList: "ALIST1", * radiusTrustsecGroup: "GROUP1", * tacacsServerGroups: [{ * groupName: "GROUP1", * vpnId: 1, * sourceInterface: "e1", * servers: [{ * address: "1.1.1.1", * port: 49, * timeout: 5, * key: "key123", * secretKey: "1234567", * encryptionType: "7", * }], * }], * accountingRules: [{ * name: "RULE1", * method: "exec", * privilegeLevel: "15", * startStop: true, * groups: "GROUP1", * }], * authorizationConsole: true, * authorizationConfigCommands: true, * authorizationRules: [{ * name: "RULE1", * method: "commands", * privilegeLevel: "15", * groups: "GROUP1", * authenticated: true, * }], * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * ```sh * $ pulumi import sdwan:index/cedgeAaaFeatureTemplate:CedgeAaaFeatureTemplate example "f6b2c44c-693c-4763-b010-895aa3d236bd" * ``` */ export declare class CedgeAaaFeatureTemplate extends pulumi.CustomResource { /** * Get an existing CedgeAaaFeatureTemplate 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?: CedgeAaaFeatureTemplateState, opts?: pulumi.CustomResourceOptions): CedgeAaaFeatureTemplate; /** * Returns true if the given object is an instance of CedgeAaaFeatureTemplate. 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 CedgeAaaFeatureTemplate; /** * Configure the accounting rules */ readonly accountingRules: pulumi.Output<outputs.CedgeAaaFeatureTemplateAccountingRule[] | undefined>; /** * For configuration mode commands. * - Default value: `false` */ readonly authorizationConfigCommands: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly authorizationConfigCommandsVariable: pulumi.Output<string | undefined>; /** * For enabling console authorization * - Default value: `false` */ readonly authorizationConsole: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly authorizationConsoleVariable: pulumi.Output<string | undefined>; /** * Configure the Authorization Rules */ readonly authorizationRules: pulumi.Output<outputs.CedgeAaaFeatureTemplateAuthorizationRule[] | undefined>; /** * The description of the feature template */ readonly description: pulumi.Output<string>; /** * List of supported device types * - Choices: `vedge-C8000V`, `vedge-C8300-1N1S-4T2X`, `vedge-C8300-1N1S-6T`, `vedge-C8300-2N2S-6T`, `vedge-C8300-2N2S-4T2X`, `vedge-C8500-12X4QC`, `vedge-C8500-12X`, `vedge-C8500-20X6C`, `vedge-C8500L-8S4X`, `vedge-C8200-1N-4T`, `vedge-C8200L-1N-4T` */ readonly deviceTypes: pulumi.Output<string[]>; /** * Accounting configurations parameters * - Default value: `false` */ readonly dot1xAccounting: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly dot1xAccountingVariable: pulumi.Output<string | undefined>; /** * Authentication configurations parameters * - Default value: `false` */ readonly dot1xAuthentication: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly dot1xAuthenticationVariable: pulumi.Output<string | undefined>; /** * The name of the feature template */ readonly name: pulumi.Output<string>; /** * Specify a RADIUS client */ readonly radiusClients: pulumi.Output<outputs.CedgeAaaFeatureTemplateRadiusClient[] | undefined>; /** * Authentication Type * - Choices: `any`, `all`, `session-key` * - Default value: `any` */ readonly radiusDynamicAuthorAuthenticationType: pulumi.Output<string | undefined>; /** * Variable name */ readonly radiusDynamicAuthorAuthenticationTypeVariable: pulumi.Output<string | undefined>; /** * Domain Stripping * - Choices: `yes`, `no`, `right-to-left` * - Default value: `no` */ readonly radiusDynamicAuthorDomainStripping: pulumi.Output<string | undefined>; /** * Variable name */ readonly radiusDynamicAuthorDomainStrippingVariable: pulumi.Output<string | undefined>; /** * Specify Radius Dynamic Author Port * - Range: `0`-`65535` * - Default value: `1700` */ readonly radiusDynamicAuthorPort: pulumi.Output<number | undefined>; /** * Variable name */ readonly radiusDynamicAuthorPortVariable: pulumi.Output<string | undefined>; /** * Specify a radius dynamic author server-key */ readonly radiusDynamicAuthorServerKey: pulumi.Output<string | undefined>; /** * Variable name */ readonly radiusDynamicAuthorServerKeyVariable: pulumi.Output<string | undefined>; /** * Configure the Radius serverGroup */ readonly radiusServerGroups: pulumi.Output<outputs.CedgeAaaFeatureTemplateRadiusServerGroup[] | undefined>; /** * CTS Authorization List */ readonly radiusTrustsecCtsAuthorizationList: pulumi.Output<string | undefined>; /** * Variable name */ readonly radiusTrustsecCtsAuthorizationListVariable: pulumi.Output<string | undefined>; /** * RADIUS trustsec group */ readonly radiusTrustsecGroup: pulumi.Output<string | undefined>; /** * ServerGroups priority order * - Default value: `local` */ readonly serverGroupsPriorityOrder: pulumi.Output<string | undefined>; /** * Configure the TACACS serverGroup */ readonly tacacsServerGroups: pulumi.Output<outputs.CedgeAaaFeatureTemplateTacacsServerGroup[] | undefined>; /** * The template type */ readonly templateType: pulumi.Output<string>; /** * Create local login account */ readonly users: pulumi.Output<outputs.CedgeAaaFeatureTemplateUser[] | undefined>; /** * The version of the feature template */ readonly version: pulumi.Output<number>; /** * Create a CedgeAaaFeatureTemplate 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: CedgeAaaFeatureTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CedgeAaaFeatureTemplate resources. */ export interface CedgeAaaFeatureTemplateState { /** * Configure the accounting rules */ accountingRules?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateAccountingRule>[]>; /** * For configuration mode commands. * - Default value: `false` */ authorizationConfigCommands?: pulumi.Input<boolean>; /** * Variable name */ authorizationConfigCommandsVariable?: pulumi.Input<string>; /** * For enabling console authorization * - Default value: `false` */ authorizationConsole?: pulumi.Input<boolean>; /** * Variable name */ authorizationConsoleVariable?: pulumi.Input<string>; /** * Configure the Authorization Rules */ authorizationRules?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateAuthorizationRule>[]>; /** * The description of the feature template */ description?: pulumi.Input<string>; /** * List of supported device types * - Choices: `vedge-C8000V`, `vedge-C8300-1N1S-4T2X`, `vedge-C8300-1N1S-6T`, `vedge-C8300-2N2S-6T`, `vedge-C8300-2N2S-4T2X`, `vedge-C8500-12X4QC`, `vedge-C8500-12X`, `vedge-C8500-20X6C`, `vedge-C8500L-8S4X`, `vedge-C8200-1N-4T`, `vedge-C8200L-1N-4T` */ deviceTypes?: pulumi.Input<pulumi.Input<string>[]>; /** * Accounting configurations parameters * - Default value: `false` */ dot1xAccounting?: pulumi.Input<boolean>; /** * Variable name */ dot1xAccountingVariable?: pulumi.Input<string>; /** * Authentication configurations parameters * - Default value: `false` */ dot1xAuthentication?: pulumi.Input<boolean>; /** * Variable name */ dot1xAuthenticationVariable?: pulumi.Input<string>; /** * The name of the feature template */ name?: pulumi.Input<string>; /** * Specify a RADIUS client */ radiusClients?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateRadiusClient>[]>; /** * Authentication Type * - Choices: `any`, `all`, `session-key` * - Default value: `any` */ radiusDynamicAuthorAuthenticationType?: pulumi.Input<string>; /** * Variable name */ radiusDynamicAuthorAuthenticationTypeVariable?: pulumi.Input<string>; /** * Domain Stripping * - Choices: `yes`, `no`, `right-to-left` * - Default value: `no` */ radiusDynamicAuthorDomainStripping?: pulumi.Input<string>; /** * Variable name */ radiusDynamicAuthorDomainStrippingVariable?: pulumi.Input<string>; /** * Specify Radius Dynamic Author Port * - Range: `0`-`65535` * - Default value: `1700` */ radiusDynamicAuthorPort?: pulumi.Input<number>; /** * Variable name */ radiusDynamicAuthorPortVariable?: pulumi.Input<string>; /** * Specify a radius dynamic author server-key */ radiusDynamicAuthorServerKey?: pulumi.Input<string>; /** * Variable name */ radiusDynamicAuthorServerKeyVariable?: pulumi.Input<string>; /** * Configure the Radius serverGroup */ radiusServerGroups?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateRadiusServerGroup>[]>; /** * CTS Authorization List */ radiusTrustsecCtsAuthorizationList?: pulumi.Input<string>; /** * Variable name */ radiusTrustsecCtsAuthorizationListVariable?: pulumi.Input<string>; /** * RADIUS trustsec group */ radiusTrustsecGroup?: pulumi.Input<string>; /** * ServerGroups priority order * - Default value: `local` */ serverGroupsPriorityOrder?: pulumi.Input<string>; /** * Configure the TACACS serverGroup */ tacacsServerGroups?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateTacacsServerGroup>[]>; /** * The template type */ templateType?: pulumi.Input<string>; /** * Create local login account */ users?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateUser>[]>; /** * The version of the feature template */ version?: pulumi.Input<number>; } /** * The set of arguments for constructing a CedgeAaaFeatureTemplate resource. */ export interface CedgeAaaFeatureTemplateArgs { /** * Configure the accounting rules */ accountingRules?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateAccountingRule>[]>; /** * For configuration mode commands. * - Default value: `false` */ authorizationConfigCommands?: pulumi.Input<boolean>; /** * Variable name */ authorizationConfigCommandsVariable?: pulumi.Input<string>; /** * For enabling console authorization * - Default value: `false` */ authorizationConsole?: pulumi.Input<boolean>; /** * Variable name */ authorizationConsoleVariable?: pulumi.Input<string>; /** * Configure the Authorization Rules */ authorizationRules?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateAuthorizationRule>[]>; /** * The description of the feature template */ description: pulumi.Input<string>; /** * List of supported device types * - Choices: `vedge-C8000V`, `vedge-C8300-1N1S-4T2X`, `vedge-C8300-1N1S-6T`, `vedge-C8300-2N2S-6T`, `vedge-C8300-2N2S-4T2X`, `vedge-C8500-12X4QC`, `vedge-C8500-12X`, `vedge-C8500-20X6C`, `vedge-C8500L-8S4X`, `vedge-C8200-1N-4T`, `vedge-C8200L-1N-4T` */ deviceTypes: pulumi.Input<pulumi.Input<string>[]>; /** * Accounting configurations parameters * - Default value: `false` */ dot1xAccounting?: pulumi.Input<boolean>; /** * Variable name */ dot1xAccountingVariable?: pulumi.Input<string>; /** * Authentication configurations parameters * - Default value: `false` */ dot1xAuthentication?: pulumi.Input<boolean>; /** * Variable name */ dot1xAuthenticationVariable?: pulumi.Input<string>; /** * The name of the feature template */ name?: pulumi.Input<string>; /** * Specify a RADIUS client */ radiusClients?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateRadiusClient>[]>; /** * Authentication Type * - Choices: `any`, `all`, `session-key` * - Default value: `any` */ radiusDynamicAuthorAuthenticationType?: pulumi.Input<string>; /** * Variable name */ radiusDynamicAuthorAuthenticationTypeVariable?: pulumi.Input<string>; /** * Domain Stripping * - Choices: `yes`, `no`, `right-to-left` * - Default value: `no` */ radiusDynamicAuthorDomainStripping?: pulumi.Input<string>; /** * Variable name */ radiusDynamicAuthorDomainStrippingVariable?: pulumi.Input<string>; /** * Specify Radius Dynamic Author Port * - Range: `0`-`65535` * - Default value: `1700` */ radiusDynamicAuthorPort?: pulumi.Input<number>; /** * Variable name */ radiusDynamicAuthorPortVariable?: pulumi.Input<string>; /** * Specify a radius dynamic author server-key */ radiusDynamicAuthorServerKey?: pulumi.Input<string>; /** * Variable name */ radiusDynamicAuthorServerKeyVariable?: pulumi.Input<string>; /** * Configure the Radius serverGroup */ radiusServerGroups?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateRadiusServerGroup>[]>; /** * CTS Authorization List */ radiusTrustsecCtsAuthorizationList?: pulumi.Input<string>; /** * Variable name */ radiusTrustsecCtsAuthorizationListVariable?: pulumi.Input<string>; /** * RADIUS trustsec group */ radiusTrustsecGroup?: pulumi.Input<string>; /** * ServerGroups priority order * - Default value: `local` */ serverGroupsPriorityOrder?: pulumi.Input<string>; /** * Configure the TACACS serverGroup */ tacacsServerGroups?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateTacacsServerGroup>[]>; /** * Create local login account */ users?: pulumi.Input<pulumi.Input<inputs.CedgeAaaFeatureTemplateUser>[]>; }