fortinet.fortiflexvm.fortiflexvm_tools_calc_info (2.2.0) — module

Estimate points that will be consumed for configuration with certain parameters.

| "added in version" 2.2.0 of fortinet.fortiflexvm"

Authors: Xinwei Du (@dux-fortinet)

Install collection

Install with ansible-galaxy collection install fortinet.fortiflexvm:==2.2.0


Add to requirements.yml

  collections:
    - name: fortinet.fortiflexvm
      version: 2.2.0

Description

Returns number of points that will be consumed for configuration with certain parameters.

count should be 1 if product type is Cloud form factor.

Cloud product including "fortiCloudPrivate", "fortiCloudPublic", "fortiClientEMSCloud", "fortiSASE", "fortiEDR".

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Estimate cost
  hosts: localhost
  vars:
    username: "<your_own_value>"
    password: "<your_own_value>"
  tasks:
    - name: Estimate cost
      fortinet.fortiflexvm.fortiflexvm_tools_calc_info:
        username: "{{ username }}"
        password: "{{ password }}"
        programSerialNumber: "ELAVMS0000000000"
        # "count" should be 1 if product is cloud (fortiCloudPublic, fortiClientEMSCloud, fortiSASE, fortiEDR).
        count: 1

        # Please only use one of the following.
        fortiGateBundle:
          cpu: 2                              # 1 ~ 96
          service: "UTP"                      # "FC", "UTP", "ENT", "ATP"
          vdom: 10                            # 0 ~ 500
          fortiGuardServices: ["FGTFAIS"]     # ["FGTAVDB", "FGTFAIS", "FGTISSS", "FGTDLDB", "FGTFGSA", "FGTFCSS"]
          cloudServices: ["FGTFAMS"]          # ["FGTFAMS", "FGTSWNM", "FGTSOCA", "FGTFAZC", "FGTSWOS", "FGTFSPA"]
          supportService: "NONE"              # "FGTFCELU", "NONE"

        # fortiManager:
        #   device: 1                         # 1 ~ 100000
        #   adom: 1                           # 1 ~ 100000

        # fortiWeb:
        #   cpu: "4"                          # "1", "2", "4", "8", "16"
        #   service: "FWBSTD"                 # "FWBSTD" or "FWBADV"

        # fortiGateLCS:
        #   cpu: 4                            # 1 ~ 96
        #   fortiGuardServices: []            # "IPS", "AVDB", "FGSA", "DLDB", "FAIS", "FURLDNS"
        #   supportService: "FC247"           # "FC247", "ASET"
        #   vdom: 1                           # 1 ~ 500
        #   cloudServices: ["FAMS", "SWNM"]   # "FAMS", "SWNM", "AFAC", "FAZC"

        # fortiClientEMSOP:
        #   ZTNA: 1000                        # Value should be 0 or between 25 and 25000.
        #   EPP: 1000                         # Value should be 0 or between 25 and 25000.
        #   chromebook: 1000                  # Value should be 0 or between 25 and 25000.
        #   service: "FCTFC247"               # "FCTFC247"
        #   addons: ["BPS"]                   # Empty or "BPS"

        # fortiAnalyzer:
        #   storage: 5                        # 5 ~ 8300
        #   adom: 1                           # 0 ~ 1200
        #   service: "FAZFC247"               # "FAZFC247"

        # fortiPortal:
        #   device: 1                         # 0 ~ 100000

        # fortiADC:
        #   cpu: "32"                         # "1", "2", "4", "8", "16", "32"
        #   service: "FDVSTD"                 # "FDVSTD", "FDVADV" or "FDVFC247"

        # fortiGateHardware:
        #   model: "FGT60F"                   # For all supported modules, please check FNDN.
        #                                     # "FGT40F", "FGT60F", "FGT70F", "FGT80F", "FG100F", "FGT60E", "FGT61F",
        #                                     # "FG100E", "FG101F", "FG200E", "FG200F", "FG201F", "FG4H0F", "FG6H0F",
        #                                     # "FWF40F", "FWF60F", "FGR60F", "FR70FB", "FGT81F", "FG101E", "FG4H1F",
        #                                     # "FG1K0F", "FG180F", "F2K60F", "FG3K0F", "FG3K1F", "FG3K2F"...
        #   service: "FGHWFCEL"               # "FGHWFC247", "FGHWFCEL", "FDVFC247", "FGHWUTP" or "FGHWENT"
        #   addons: []                        # "FGHWFCELU", "FGHWFAMS", "FGHWFAIS", "FGHWSWNM", "FGHWDLDB",
        #                                     # "FGHWFAZC", "FGHWSOCA", "FGHWMGAS", "FGHWSPAL", "FGHWFCSS"

        # fortiCloudPublic:
        #   throughput: 100                   # 25, 50, 75, 100, 150, 200, 250, 300, 350, 400, 450, 500, 600, 700, 800,
        #                                     # 900, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500,
        #                                     # 7000, 7500, 8000, 8500, 9000, 9500, 10000.
        #   applications: 10                  # 0 ~ 2000

        # fortiClientEMSCloud:
        #   ZTNA: 100                         # Value should be 0 or between 25 and 25000.
        #   ZTNA_FGF: 100                     # Value should be 0 or between 25 and 25000.
        #   EPP_ZTNA: 100                     # Value should be 0 or between 25 and 25000.
        #   EPP_ZTNA_FGF: 100                 # Value should be 0 or between 25 and 25000.
        #   chromebook: 100                   # Value should be 0 or between 25 and 25000.
        #   addons: ["BPS"]                   # [] or "BPS"

        # fortiSASE:
        #   users: 50                         # 50 ~ 50000. Value should be divisible by 25.
        #   service: "FSASESTD"               # "FSASESTD" (Standard) or "FSASEADV" (Advanced).
        #   bandwidth: 100                    # 25 ~ 10000. Value should be divisible by 25.
        #   dedicatedIPs: 10                  # 4 ~ 65534

        # fortiEDR:
        #   service: "FEDRPDR"                # "FEDRPDR" (Discover/Protect/Respond)
        #   endpoints: 10                     # Value should be between 0 and 50000
        #   addons: ["FEDRXDR"]               # Empty list or "FEDRXDR"
      register: result

    - name: Display response
      ansible.builtin.debug:
        var: result

Inputs

    
count:
    default: 1
    description:
    - Number of entitlements you want to create.
    - Should be 1 if product type is Cloud form factor.
    type: int

fortiADC:
    description:
    - FortiADC Virtual Machine.
    suboptions:
      cpu:
        description:
        - Number of CPUs. The value of this attribute is one of "1", "2", "4", "8", "16"
          or "32".
        required: true
        type: str
      service:
        description:
        - Support Service. "FDVSTD" (Standard), "FDVADV" (Advanced) or "FDVFC247" (FortiCare
          Premium).
        required: true
        type: str
    type: dict
    version_added: 2.0.0
    version_added_collection: fortinet.fortiflexvm

fortiEDR:
    description:
    - fortiEDR Cloud Configuration.
    suboptions:
      addons:
        default: []
        description: Addons. A list. Possible value is "FEDRXDR" (XDR).
        elements: str
        type: list
      endpoints:
        description: Number of Endpoints. Value should be between 0 and 50000.
        required: true
        type: int
      service:
        description: Service package. "FEDRPDR" (Discover/Protect/Respond).
        required: true
        type: str
    type: dict

fortiWeb:
    description:
    - FortiWeb Virtual Machine - Service Bundle.
    suboptions:
      cpu:
        description:
        - Number of CPUs. The value of this attribute is one of "1", "2" "4", "8" or "16".
        required: true
        type: str
      service:
        description:
        - Service Package. Valid values are "FWBSTD" (Standard) or "FWBADV" (Advanced).
        required: true
        type: str
    type: dict

password:
    description:
    - The password to authenticate. If not declared, the code will read the environment
      variable FORTIFLEX_ACCESS_PASSWORD.
    type: str

username:
    description:
    - The username to authenticate. If not declared, the code will read the environment
      variable FORTIFLEX_ACCESS_USERNAME.
    type: str

fortiSASE:
    description:
    - fortiSASE Cloud Configuration.
    suboptions:
      bandwidth:
        description: Number between 25 and 10,000 (inclusive). Value should be divisible
          by 25.
        required: true
        type: int
      dedicatedIPs:
        description: Number between 4 and 65,534 (inclusive).
        required: true
        type: int
      service:
        description: Service package. "FSASESTD" (Standard) or "FSASEADV" (Advanced).
        required: true
        type: str
      users:
        description:
        - Number of users. Number between 50 and 50,000 (inclusive).
        - Value should be divisible by 25.
        required: true
        type: int
    type: dict

fortiPortal:
    description:
    - FortiPortal Virtual Machine.
    suboptions:
      device:
        description:
        - Number of managed devices. A number between 0 and 100000 (inclusive).
        required: true
        type: int
    type: dict

fortiGateLCS:
    description:
    - FortiGate Virtual Machine - A La Carte Services.
    suboptions:
      cloudServices:
        default: []
        description:
        - The cloud services this FortiGate Virtual Machine supports. The default value
          is an empty list.
        - It should contain zero, one or more elements of ["FAMS", "SWNM", "AFAC", "FAZC"].
        elements: str
        type: list
      cpu:
        description:
        - The number of CPUs. A number between 1 and 96 (inclusive).
        required: true
        type: int
      fortiGuardServices:
        default: []
        description:
        - The fortiguard services this FortiGate Virtual Machine supports. The default
          value is an empty list.
        - It should contain zero, one or more elements of ["IPS", "AVDB", "FGSA", "DLDB",
          "FAIS", "FURLDNS"].
        elements: str
        type: list
      supportService:
        description:
        - Valid values are "FC247" (FortiCare 24x7) or "ASET" (FortiCare Elite).
        required: true
        type: str
      vdom:
        description:
        - Number of VDOMs. A number between 1 and 500 (inclusive).
        required: true
        type: int
    type: dict

fortiManager:
    description:
    - FortiManager Virtual Machine.
    suboptions:
      adom:
        description:
        - Number of ADOMs. A number between 1 and 100000 (inclusive).
        required: true
        type: int
      device:
        description:
        - Number of managed devices. A number between 1 and 100000 (inclusive).
        required: true
        type: int
    type: dict

fortiAnalyzer:
    description:
    - FortiAnalyzer Virtual Machine.
    suboptions:
      adom:
        description:
        - Number of ADOMs. A number between 0 and 1200 (inclusive).
        required: true
        type: int
      service:
        description:
        - Support Service. Currently, the only available option is "FAZFC247" (FortiCare
          Premium). The default value is "FAZFC247".
        required: true
        type: str
      storage:
        description:
        - Daily Storage (GB). A number between 5 and 8300 (inclusive).
        required: true
        type: int
    type: dict

fortiGateBundle:
    description:
    - FortiGate Virtual Machine - Service Bundle.
    suboptions:
      cloudServices:
        default: []
        description:
        - Cloud Services. The default value is an empty list.
        - It should contain zero, one or more elements of ["FGTFAMS", "FGTSWNM", "FGTSOCA",
          "FGTFAZC", "FGTSWOS", "FGTFSPA"].
        elements: str
        type: list
      cpu:
        description:
        - The number of CPUs. Number between 1 and 96 (inclusive).
        required: true
        type: int
      fortiGuardServices:
        default: []
        description:
        - Fortiguard Services. The default value is an empty list.
        - It should contain zero, one or more elements of ["FGTAVDB", "FGTFAIS", "FGTISSS",
          "FGTDLDB", "FGTFGSA", "FGTFCSS"].
        elements: str
        type: list
      service:
        description:
        - The value of this attribute is one of "FC" (FortiCare), "UTP", "ENT" (Enterprise)
          or "ATP".
        required: true
        type: str
      supportService:
        default: NONE
        description:
        - Suport service. "FGTFCELU" or "NONE". Default is "NONE".
        type: str
      vdom:
        default: 0
        description:
        - Number of VDOMs. A number between 0 and 500 (inclusive). The default number
          is 0.
        type: int
    type: dict

fortiClientEMSOP:
    description:
    - FortiClient EMS On-Prem.
    suboptions:
      EPP:
        description:
        - EPP/ATP + ZTNA/VPN (number of endpoints).
        - Value should be 0 or between 25 and 25000.
        required: true
        type: int
      ZTNA:
        description:
        - ZTNA/VPN (number of endpoints).
        - Value should be 0 or between 25 and 25000.
        required: true
        type: int
      addons:
        default: []
        description: Addons. A list. Possible value is "BPS" ( FortiCare Best Practice).
        elements: str
        type: list
      chromebook:
        description:
        - Chromebook (number of endpoints).
        - Value should be 0 or between 25 and 25000.
        required: true
        type: int
      service:
        description:
        - Support Services. Possible value is "FCTFC247" (FortiCare Premium)
        required: true
        type: str
    type: dict

fortiCloudPublic:
    description:
    - FortiWeb Cloud, Public.
    suboptions:
      applications:
        description: Number of web applications. Number between 0 and 2000 (inclusive).
        required: true
        type: int
      throughput:
        description:
        - Average Throughput (Mbps).
        - Possible values are 25, 50, 75, 100, 150, 200, 250, 300, 350, 400, 450, 500,
          600,
        - 700, 800, 900, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000,
          6500,
        - 7000, 7500, 8000, 8500, 9000, 9500, 10000.
        required: true
        type: int
    type: dict
    version_added: 2.0.0
    version_added_collection: fortinet.fortiflexvm

bypass_validation:
    default: false
    description:
    - Only set to True when module schema diffs with FortiFlex API structure, module continues
      to execute without validating parameters.
    type: bool

fortiCloudPrivate:
    description:
    - FortiWeb Cloud, Private.
    suboptions:
      applications:
        description: Number of web applications. Number between 0 and 2000 (inclusive).
        required: true
        type: int
      throughput:
        description:
        - Average Throughput (Mbps).
        - Possible values are 10, 25, 50, 75, 100, 150, 200, 250, 300, 350, 400, 450,
          500, 600,
        - 700, 800, 900, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000,
          6500,
        - 7000, 7500, 8000, 8500, 9000, 9500, 10000.
        required: true
        type: int
    type: dict
    version_added: 2.0.0
    version_added_collection: fortinet.fortiflexvm

fortiGateHardware:
    description:
    - FortiGate Hardware.
    suboptions:
      addons:
        default: []
        description:
        - Addons. A list, can be empty, possible values are
        - FGHWFCELU (FortiCare Elite Upgrade), FGHWFAMS (FortiGate Cloud Management),
        - FGHWFAIS (AI-Based In-line Sandbox), FGHWSWNM (SD-WAN Underlay), FGHWDLDB (FortiGuard
          DLP),
        - FGHWFAZC (FortiAnalyzer Cloud), FGHWSOCA (SOCaaS), FGHWMGAS (Managed FortiGate),
        - FGHWSPAL (SD-WAN Connector for FortiSASE), FGHWFCSS (FortiConverter Service).
        elements: str
        type: list
      model:
        description:
        - The device model. For all supported models, please check FNDN.
        - Possible values are
        - FGT40F (FortiGate-40F), FGT60F (FortiGate-60F), FGT70F (FortiGate-70F), FGT80F
          (FortiGate-80F),
        - FG100F (FortiGate-100F), FGT60E (FortiGate-60E), FGT61F (FortiGate-61F), FG100E
          (FortiGate-100E),
        - FG101F (FortiGate-101F), FG200E (FortiGate-200E), FG200F (FortiGate-200F), FG201F
          (FortiGate-201F),
        - FG4H0F (FortiGate-400F), FG6H0F (FortiGate-600F), FWF40F (FortiWifi-40F), FWF60F
          (FortiWifi-60F),
        - FGR60F (FortiGateRugged-60F), FR70FB (FortiGateRugged-70F), FGT81F (FortiGate-81F),
          FG101E (FortiGate-101E),
        - FG4H1F (FortiGate-401F), FG1K0F (FortiGate-1000F), FG180F (FortiGate-1800F),
          F2K60F (FortiGate-2600F),
        - FG3K0F (FortiGate-3000F), FG3K1F (FortiGate-3001F), FG3K2F (FortiGate-3200F).
        required: true
        type: str
      service:
        description:
        - Support Service. Possible values are FGHWFC247 (FortiCare Premium), FGHWFCEL
          (FortiCare Elite),
        - FDVFC247 (ATP), FGHWUTP (UTP) or FGHWENT (Enterprise).
        required: true
        type: str
    type: dict
    version_added: 2.0.0
    version_added_collection: fortinet.fortiflexvm

fortiClientEMSCloud:
    description:
    - FortiClient EMS Cloud.
    suboptions:
      EPP_ZTNA:
        description:
        - EPP/ATP + ZTNA/VPN (number of endpoints).
        - Value should be 0 or between 25 and 25000.
        required: true
        type: int
      EPP_ZTNA_FGF:
        description:
        - EPP/ATP + ZTNA/VPN + FortiGuard Forensics (number of endpoints).
        - Value should be 0 or between 25 and 25000.
        required: true
        type: int
      ZTNA:
        description:
        - ZTNA/VPN (number of endpoints).
        - Value should be 0 or between 25 and 25000.
        required: true
        type: int
      ZTNA_FGF:
        description:
        - ZTNA/VPN + FortiGuard Forensics (number of endpoints).
        - Value should be 0 or between 25 and 25000.
        required: true
        type: int
      addons:
        default: []
        description: Addons. A list. Possible value is "BPS" (FortiCare Best Practice).
        elements: str
        type: list
      chromebook:
        description:
        - Chromebook (number of endpoints).
        - Value should be 0 or between 25 and 25000.
        required: true
        type: int
    type: dict

programSerialNumber:
    description: The serial number of your Flex VM Program.
    required: true
    type: str

Outputs

configs:
  contains:
    current:
      description: The ID of the account associated with the program.
      returned: always
      sample: 13.1
      type: int
    latest:
      description: Unknown.
      returned: always
      sample: null
      type: int
    latestEffectiveDate:
      description: Latest effective date.
      returned: always
      sample: 13.1
      type: str
  description: Estimate consumed points.
  returned: always
  type: dict
message:
  description: Estimate consumed points.
  returned: always
  sample: Request processed successfully.
  type: str
status:
  description: Request status.
  returned: always
  sample: 0
  type: int