# Packages

No description provided by the author

# README

Go API client for BloxOne FW API

BloxOne Threat Defense Cloud is an extension of the BloxOne Suite that provides visibility into infected and compromised off-premises devices, roaming users, remote sites, and branch offices. You can subscribe to BloxOne Cloud and use its functionality to mitigate and control malware as well as provide unprecedented insight into your network security posture and enable timely action. BloxOne Cloud also offers unified policy management, reporting, and threat analytics across the entire spectrum. Using automated and high-quality threat intelligence feeds and unique behavioral analytics, it automatically stops device communications with C&Cs/botnets and prevents DNS based data exfiltration.

The mission-critical DNS infrastructure can become a vulnerable component in your network when it is inadequately protected by traditional security solutions and consequently used as an attack surface. Compromised DNS services can result in catastrophic network and system failures. To fully protect your network in today’s cyber security threat environment, Infoblox sets a new DNS security standard by offering scalable, enterprise-grade, and integrated protection for your DNS infrastructure.

Through the Infoblox Cloud Services Portal, you can view the status of your subscription and threat intelligence feeds, manage your network scope and roaming end users, and learn more about threats on your networks through the Infoblox Threat Lookup tool and predefined reports.

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: v1
  • Generator version: 7.5.0
  • Build package: com.infoblox.codegen.BloxoneGoClientCodegen

Installation

Install the package using go get:

go get github.com/infobloxopen/bloxone-go-client/fw

Import the package into your code:

import "github.com/infobloxopen/bloxone-go-client/fw"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

To create a new API client, you can use the NewAPIClient function as shown below

client := fw.NewAPIClient()

Configuration

The NewAPIClient function accepts a variadic list of option.ClientOption functions that can be used to configure the client. It requires the option package to be imported. You can import the package using:

import "github.com/infobloxopen/bloxone-go-client/option"

Client Name

The client name is used to identify the client in the logs. By default, the client name is set to bloxone-go-client. You can change this using the option.WithClientName option. For example:

client := fw.NewAPIClient(option.WithClientName("my-client"))

Server URL

The default URL for the Cloud Services Portal is https://csp.infoblox.com. If you need to change this, you can use option.WithCSPUrl to set the URL. For example:

client := fw.NewAPIClient(option.WithCSPUrl("https://csp.eu.infoblox.com"))

You can also set the URL using the environment variable BLOXONE_CSP_URL

Authorization

An API key is required to access BloxOne FW API. You can obtain an API key by following the instructions in the guide for Configuring User API Keys.

To use an API key with BloxOne FW API, you can use the option.WithAPIKey option. For example:

client := fw.NewAPIClient(option.WithAPIKey("YOUR_API_KEY"))

You can also set the API key using the environment variable BLOXONE_API_KEY

Note: The API key is a secret and should be handled securely. Hardcoding the API key in your code is not recommended.

Default Tags

You can set default tags for all API requests using the option.WithDefaultTags option. For example:

client := fw.NewAPIClient(option.WithDefaultTags(map[string]string{"tag1": "value1", "tag2": "value2"}))

This will add the tags tag1=value1 and tag2=value2 to all API requests that support tags in the request body.

Documentation for API Endpoints

All URIs are relative to https://csp.infoblox.com/api/atcfw/v1

ClassMethodHTTP requestDescription
AccessCodesAPICreateAccessCodePost /access_codesCreate Access Codes
AccessCodesAPIDeleteAccessCodesDelete /access_codesDelete Access Codes
AccessCodesAPIDeleteSingleAccessCodesDelete /access_codes/{access_key}Delete Access Code By ID
AccessCodesAPIListAccessCodesGet /access_codesList Access Codes
AccessCodesAPIReadAccessCodeGet /access_codes/{access_key}Read Access Codes
AccessCodesAPIUpdateAccessCodePut /access_codes/{payload.access_key}Update Access Codes
AppApprovalsAPIListAppApprovalsGet /app_approvals
AppApprovalsAPIReplaceAppApprovalsPut /app_approvalsUpdate Application Approval.
AppApprovalsAPIUpdateAppApprovalsPatch /app_approvals
ApplicationFiltersAPICreateApplicationFilterPost /application_filtersCreate Application Filter.
ApplicationFiltersAPIDeleteApplicationFiltersDelete /application_filtersDelete Application Filters.
ApplicationFiltersAPIDeleteSingleApplicationFiltersDelete /application_filters/{id}Delete Application Filter Object by ID.
ApplicationFiltersAPIListApplicationFiltersGet /application_filtersList Application Filters.
ApplicationFiltersAPIReadApplicationFilterGet /application_filters/{id}Read Application Filter.
ApplicationFiltersAPIUpdateApplicationFilterPut /application_filters/{id}Update Application Filter.
CategoryFiltersAPICreateCategoryFilterPost /category_filtersCreate Category Filter.
CategoryFiltersAPIDeleteCategoryFiltersDelete /category_filtersDelete Category Filters By ID.
CategoryFiltersAPIDeleteSingleCategoryFiltersDelete /category_filters/{id}Delete Category Filters.
CategoryFiltersAPIListCategoryFiltersGet /category_filtersList Category Filters.
CategoryFiltersAPIReadCategoryFilterGet /category_filters/{id}Read Category Filter.
CategoryFiltersAPIUpdateCategoryFilterPut /category_filters/{id}Update Category Filter.
ContentCategoriesAPIListContentCategoriesGet /content_categoriesList Content Categories.
InternalDomainListsAPICreateInternalDomainsPost /internal_domain_listsCreate Internal Domains.
InternalDomainListsAPIDeleteInternalDomainsDelete /internal_domain_listsDelete Internal Domains.
InternalDomainListsAPIDeleteSingleInternalDomainsDelete /internal_domain_lists/{id}Delete Internal Domains.
InternalDomainListsAPIInternalDomainsItemsPartialUpdatePatch /internal_domain_lists/{id}/itemsPatch Internal Domains.
InternalDomainListsAPIListInternalDomainsGet /internal_domain_listsList Internal Domains.
InternalDomainListsAPIReadInternalDomainsGet /internal_domain_lists/{id}Read Internal Domains.
InternalDomainListsAPIUpdateInternalDomainsPut /internal_domain_lists/{id}Update Internal Domains.
NamedListItemsAPIDeleteNamedListItemsDelete /named_lists/{id}/itemsDelete Named List Items.
NamedListItemsAPIInsertOrReplaceNamedListItemsPost /named_lists/{id}/itemsInsert Named List Items.
NamedListItemsAPINamedListItemsPartialUpdatePatch /named_lists/{id}/itemsPartial Update Named List Items.
NamedListsAPICreateNamedListPost /named_listsCreate Named List.
NamedListsAPIDeleteNamedListsDelete /named_listsDelete Named Lists.
NamedListsAPIDeleteSingleNamedListsDelete /named_lists/{id}Delete Named Lists.
NamedListsAPIListNamedListsGet /named_listsList Named Lists.
NamedListsAPIListNamedListsCSVGet /named_lists_downloadList Named Lists in CSV format.
NamedListsAPIMultiListUpdatePatch /named_listsPatch Multiple Named Lists.
NamedListsAPIReadNamedListGet /named_lists/{id}Read Named List.
NamedListsAPIUpdateNamedListPut /named_lists/{id}Update Named List.
NamedListsAPIUpdateNamedListPartialPatch /named_lists/{id}Patch TI List.
NetworkListsAPICreateNetworkListPost /network_listsCreate Network List.
NetworkListsAPIDeleteNetworkListsDelete /network_listsDelete Network Lists.
NetworkListsAPIDeleteSingleNetworkListsDelete /network_lists/{id}Delete Network Lists.
NetworkListsAPIListNetworkListsGet /network_listsList Network Lists.
NetworkListsAPIReadNetworkListGet /network_lists/{id}Read Network List.
NetworkListsAPIUpdateNetworkListPut /network_lists/{id}Update Network List.
PopRegionsAPIListPoPRegionsGet /pop_regionsList PoP Regions.
PopRegionsAPIReadPoPRegionGet /pop_regions/{id}Read PoP Region.
SecurityPoliciesAPICreateSecurityPolicyPost /security_policiesCreate Security Policy.
SecurityPoliciesAPIDeleteSecurityPolicyDelete /security_policiesDelete Security Policies.
SecurityPoliciesAPIDeleteSingleSecurityPolicyDelete /security_policies/{id}Delete Security Policy.
SecurityPoliciesAPIListSecurityPoliciesGet /security_policiesList Security Policies.
SecurityPoliciesAPIReadSecurityPolicyGet /security_policies/{id}Read Security Policy.
SecurityPoliciesAPIUpdateSecurityPolicyPut /security_policies/{id}Update Security Policy.
SecurityPolicyRulesAPIListSecurityPolicyRulesGet /security_policy_rulesList Security Policy Rules.
ThreatFeedsAPIListThreatFeedsGet /threat_feedsList Threat Feeds.

Documentation For Models

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime