@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
TypeScript
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>[]>;
}