Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

This operation deploys Configurations like API Products, Developers, Developer Apps, Flow hooks, Extensions, Mask Config, Custom Roles, Cache, KVM, Target Server, and Resource Files, to the Apigee host by using the maven apigee config plugin. You must have built artifacts as a zip file or expanded folder, see Extract and Save Artifacts workflow on FlexDeploy - Apigee Plugin Guide page under Example Workflows.

The plugin unzips any zipped file within the artifacts and will search for the edge.json file or predefine folders(org/env/api) and deploy it to Apigee. This operation automatically generates a pom.xml and parent-pom.xml necessary to use with Maven for deployment. If it is already present, it will be replaced. The new pom contains property replacement tokens in many places. Passwords and other values will not be stored in the file.

Small API projects can use the single file format in edge.json to manage their config. Large, complex projects with several config entities can use the multi-file format to organize config in source control. See Special Considerations below for details on the folder structure.

Either FDAPG_CLOUD_ACCOUNT_CODE target property value or FDAPG_INP_CLOUD_ACCOUNT_CODE plugin input value should exist. When both exists, the plugin input value will take precedence. See Creating/Editing a Cloud Account and Provider for details on how to setup Cloud Account for Apigee.

Target Properties

Property Name

Property Code

Required

Description

Apigee Environment Name

FDAPG_ENV

Yes

The environment name which the proxy or shared flow or Configurations will be deployed to.

Apigee Edge Config Deploy Option

FDAPG_CONFIG_OPTION

Yes

This option indicates the mode of deployment for the configurations. (please refer to the Note section). Update is default, other options are create, delete and sync. Note: This property is required only for Apigee Edge.

Apigee X Config Deploy Option

FDAPG_X_CONFIG_OPTION

Yes

This option indicates the mode of deployment for the configurations. Update is the default option, other options are create, delete, and sync. Note: This property is required only for Apigee X.

Apigee Account

FDAPG_CLOUD_ACCOUNT_CODE

No

The Apigee account with all the required properties for running Apigee Instance. Note: "On the basis of selected Cloud Account type plugin will perform the operation and do the deployment for Apigee X or Apigee Edge."

Project Properties

Property Name

Property Code

Required

Description

Apigee Configuration File Path

FDAPG_CONFIG_FILE_PATH

No

Path to the configuration file. If a relative path is given, a path inside of the FD_ARTIFACTS_DIR will be assumed. If no path is given, edge.json will be used if it exists in the root of FD_ARTIFACTS_DIR.

Apigee Configuration file Directory

FDAPG_CONFIG_DIR_PATH

No

Path to directory containing the multi-file configuration. If a relative path is given, a path inside of the FD_ARTIFACTS_DIR will be assumed. If no path is given, env/org/api folders will be used if it exists in the root of FD_ARTIFACTS_DIR.

For more information on multi-file Apigee Config Deployment: https://github.com/apigee/apigee-config-maven-plugin?tab=readme-ov-file#multi-file-config

Cloud Account Properties

Apigee Edge

Property Name

Property Code

Required

Description

Apigee Org Name

FDAPGACCT_ORG

Yes

The org name of the apigee account.

Apigee Host URL

FDAPGACCT_HOST_URL

Yes

Apigee Host URL.

Apigee Authentication Type

FDAPGACCT_AUTHTYPE

Yes

Apigee Authentication Type

Apigee Username

FDAPGACCT_USER

Yes

The username of the apigee account.

Apigee Password

FDAPGACCT_PASSWORD

Yes

The password of the apigee account.

Apigee Token URL

FDAPGACCT_TOKEN_URL

No

Apigee Token URL.

Apigee MFA Token

FDAPGACCT_MFA_TOKEN

No

Apigee Multi Factor Authentication Token

Apigee Bearer

FDAPGACCT_BEARER

No

Apigee Bearer Token (Access Token)

Apigee Refresh

FDAPGACCT_REFRESH

No

Apigee Refresh Token

Apigee Client Id

FDAPGACCT_CLIENT_ID

No

Apigee Client Id

Apigee Client Secret Key

FDAPGACCT_CLIENT_SECRET

No

Apigee Client Secret Key

Apigee X

Please refer to the link for more information Set Up of Apigee X | Setting up the Cloud Account for Apigee X

Property Name

Property Code

Required

Description

Apigee Org Name

FDAPGACCT_ORG

Yes

The org name of the apigee account.

Apigee Host URL

FDAPGACCT_HOST_URL

Yes

Apigee Host URL.

Apigee Bearer

FDAPGACCT_BEARER

No

Apigee Bearer Token (Access Token) this takes precedence over service account file.

Service Account File

FDAPGACCT_SA_FILE

No

Content of the service account file.

Apigee Portal Site Id

FDAPGACCT_PORTAL_SITE_ID

No

Apigee Portal Site ID

Apigee Client Secret Key

FDAPGACCT_GOOGLE_TOKEN_EMAIL

No

Apigee Google Token Email

Inputs

Input Name

Input Code

Required

Description

Apigee Account

FDAPG_INP_CLOUD_ACCOUNT_CODE

No

The Apigee account with all the required properties for running Apigee Instance. Note: "On the basis of selected Cloud Account type plugin will perform the operation and do the deployment for Apigee X or Apigee Edge."

Additional Deploy Arguments

FDAPG_MVN_ARGS

No

Space-delimited list of additional Maven arguments (e.g. -e -X).

Artifacts 

This operation consumes artifacts from the artifacts repository.

Endpoint Selection 

This operation does not require any specific external libraries or tools; hence you can add any endpoint to target configuration. We recommend use of LOCALHOST endpoint for simplicity. This operation will select all endpoints associated to the target.

Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.

Special Considerations

Projects with several config entities can utilize the multi-file structure to organize config while keeping individual file sizes within manageable limits. The plugin requires the use of specific file names and directories to organize config.

├── api
│   ├── forecastweatherapi
│ │ ├── resourceFiles
│ │ │ ├── jsc
│ │ │ │ ├── test.js
│   │   ├── kvms.json
│   │   └── resourcefiles.json
│   └── oauth
│   ├── kvms.json
│   └── maskconfigs.json
├── env
│   ├── prod
│   │   ├── caches.json
│   │ └── flowhooks.json
│   └── test
│   ├── caches.json
│   ├── kvms.json
│   ├── targetServers.json
│ └── virtualHosts.json
│ └── references.json
│ └── keystores.json
│ └── aliases.json
└── org
├── apiProducts.json
├── developerApps.json
├── developers.json
├── kvms.json
├── companies.json
├── companyApps.json
├── reports.json
└── maskconfigs.json
└── userroles.json

Projects with fewer config entities can use the single file edge.json format to capture all configs of an API project. The edge.json file organizes config into 3 scopes corresponding to the scopes of config entities that can be created in Edge. The plugin looks for edge.json in the current directory by default.

envConfig
orgConfig
apiConfig

Note: Update Developer App and Company App For Apigee Edge (from v1.4.5 onwards)

When you select Apigee DeployOption as the update(FDAPG_CONFIG_OPTION) and if the payload passed includes the apiProducts, then the Management server will create new credentials. To avoid this, we must pass -Dapigee.app.ignoreAPIProducts=true. as additional arguments in the operation input.

Please note this is applicable only for apigee.config.options=update.

Note: Update Developer App and Company App For Apigee X (from v2.1.2 onwards)

When you select Apigee DeployOption as the update(FDAPG_X_CONFIG_OPTION) and if the payload passed includes the apiProducts, then the Management server will create new credentials. To avoid this, we must pass -Dapigee.app.ignoreAPIProducts=true. as additional arguments in the operation input.

Please note this is applicable only for apigee.config.options=update.

Reference Guide

These files are sample files provided by Apigee for Apigee Edge:

https://github.com/apigee/apigee-deploy-maven-plugin/tree/1.x/samples

https://github.com/apigee/apigee-config-maven-plugin/tree/1.x/samples

These files are sample files provided by Apigee for Apigee X:

https://github.com/apigee/apigee-deploy-maven-plugin/tree/main/samples

https://github.com/apigee/apigee-config-maven-plugin/tree/main/samples

  • No labels