models

package
v0.0.0-...-6473ad4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 17, 2023 License: Apache-2.0 Imports: 1 Imported by: 4

Documentation

Overview

Modified after generation

Modified after generation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiProduct

type ApiProduct struct {
	// Comma-separated list of API resources to be bundled in the API product.  By default, the resource paths are mapped from the `proxy.pathsuffix` variable which is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product.  You can select a specific path, or you can select all subpaths with a wildcard (/&#42;&#42; and /&#42;). The double asterisk wildcard indicates that all sub-URIs are included. A single asterisk indicates that only URIs one level down are included. By default, / supports the same resources as /&#42;&#42; as plus the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on.  For more information, see: * <a href=\"https://docs.apigee.com/api-platform/publish/create-api-products\">Manage API products</a> for more information about managing API products and setting this value. * <a href=\"https://docs.apigee.com/api-platform/monetization/create-transaction-recording-policy#api\">Managing a transaction recording policy using the API</a> for information about setting this value when creating a transaction recording policy for monetization.
	ApiResources []string `json:"apiResources,omitempty"`
	// Flag that specifies how API keys are approved to access the APIs defined by the API product. If set to `manual`, the consumer key is generated and returned in \"pending\" state. In this case, the API keys won't work until they have been explicitly approved. If set to `auto`, the consumer key is generated and returned in \"approved\" state and can be used immediately.  **Note**: Typically, `auto` is used to provide access to free or trial API products that provide limited quota or capabilities.
	ApprovalType string `json:"approvalType,omitempty"`
	// Array of attributes that may be used to extend the default API product profile with customer-specific metadata. With Edge for Public Cloud, you can specify a maximum of 18 attributes. Use this property to specify the access level of the API product as either `public`, `private`, or `internal`. Only products marked `public` are available to developers in the Apigee developer portal. For example, you can set a product to `internal` while it is in development and then change access to `public` when it is ready to release on the portal. API products marked as `private` do not appear on the portal but can be accessed by external developers.  For monetization, you can use the attributes field to: * <a href=\"https://docs.apigee.com/api-platform/monetization/create-transaction-recording-policy#spectrpsuccessapi\">Specify transaction success criteria</a> * <a href=\"https://docs.apigee.com/api-platform/monetization/create-transaction-recording-policy#spectrpcaapi\">Specify custom attributes</a> on which you base rate plan charges</a>
	Attributes []Attribute `json:"attributes,omitempty"`
	// Output only. Creation date specified as milliseconds since epoch.
	CreatedAt int `json:"createdAt,omitempty"`
	// Output only. Email address of the user that created the API product.
	CreatedBy string `json:"createdBy,omitempty"`
	// Description of the API product. Include key information about the API product.
	Description string `json:"description,omitempty"`
	// Name to be displayed in the UI or developer portal to developers registering for API access.
	DisplayName string `json:"displayName,omitempty"`
	// Comma-separated list of environment names to which the API product is bound. Requests to environments that are not listed are rejected. By specifying one or more environments, you can bind the resources listed in the API product to a specific environment, preventing developers from accessing those resources through API proxies deployed in another environment. This setting is used, for example, to prevent resources associated with API proxies in `prod` from being accessed by API proxies deployed in `test`.
	Environments []string `json:"environments,omitempty"`
	// Output only. Last modified date specified as milliseconds since epoch.
	LastModifiedAt int `json:"lastModifiedAt,omitempty"`
	// Output only. Email address of the user that last modified the API product.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// Internal name of the API Product. Valid characters include: `A-Z0-9._\\-$ %`.  **Note**: The name is required when creating an API product. It cannot be edited when <a href=\"/docs/api-products/1/routes/organizations/%7Borg_name%7D/apiproducts/%7Bapiproduct_name%7D/put\">updating the API product</a>.
	Name string `json:"name,omitempty"`
	// Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Requests to API proxies not listed are rejected.  **Note**: The API proxy names must already exist in the specified environment as they will be validated upon creation.
	Proxies []string `json:"proxies,omitempty"`
	// Number of request messages permitted per app by this API product for the specified `quotaInterval` and `quotaTimeUnit`. For example, a `quota` of 50, for a `quotaInterval` of 12 and a `quotaTimeUnit` of hours means 50 requests are allowed every 12 hours.
	Quota string `json:"quota,omitempty"`
	// Time interval over which the number of request messages is calculated.
	QuotaInterval string `json:"quotaInterval,omitempty"`
	// Time unit defined for the `quotaInterval`.
	QuotaTimeUnit string `json:"quotaTimeUnit,omitempty"`
	// Comma-separated list of OAuth scopes that are validated at runtime. Apigee Edge validates that the scopes in any access token presented match the scopes defined in the OAuth policy assoicated with the API product.
	Scopes []string `json:"scopes,omitempty"`
}

ApiProduct API product details.

type ApiProductRef

type ApiProductRef struct {
	// Name of API product.
	Apiproduct string `json:"apiproduct,omitempty"`
	// Status of API product.
	Status string `json:"status,omitempty"`
}

ApiProductRef API product information.

type ApiProductRequest

type ApiProductRequest struct {
	// Comma-separated list of API resources to be bundled in the API product.  By default, the resource paths are mapped from the `proxy.pathsuffix` variable which is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product.  You can select a specific path, or you can select all subpaths with a wildcard (/&#42;&#42; and /&#42;). The double asterisk wildcard indicates that all sub-URIs are included. A single asterisk indicates that only URIs one level down are included. By default, / supports the same resources as /&#42;&#42; as plus the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on.  For more information, see: * <a href=\"https://docs.apigee.com/api-platform/publish/create-api-products\">Manage API products</a> for more information about managing API products and setting this value. * <a href=\"https://docs.apigee.com/api-platform/monetization/create-transaction-recording-policy#api\">Managing a transaction recording policy using the API</a> for information about setting this value when creating a transaction recording policy for monetization.
	ApiResources []string `json:"apiResources,omitempty"`
	// Flag that specifies how API keys are approved to access the APIs defined by the API product. If set to `manual`, the consumer key is generated and returned in \"pending\" state. In this case, the API keys won't work until they have been explicitly approved. If set to `auto`, the consumer key is generated and returned in \"approved\" state and can be used immediately.  **Note**: Typically, `auto` is used to provide access to free or trial API products that provide limited quota or capabilities.
	ApprovalType string `json:"approvalType"`
	// Array of attributes that may be used to extend the default API product profile with customer-specific metadata. With Edge for Public Cloud, you can specify a maximum of 18 attributes. Use this property to specify the access level of the API product as either `public`, `private`, or `internal`. Only products marked `public` are available to developers in the Apigee developer portal. For example, you can set a product to `internal` while it is in development and then change access to `public` when it is ready to release on the portal. API products marked as `private` do not appear on the portal but can be accessed by external developers.  For monetization, you can use the attributes field to: * <a href=\"https://docs.apigee.com/api-platform/monetization/create-transaction-recording-policy#spectrpsuccessapi\">Specify transaction success criteria</a> * <a href=\"https://docs.apigee.com/api-platform/monetization/create-transaction-recording-policy#spectrpcaapi\">Specify custom attributes</a> on which you base rate plan charges</a>
	Attributes []Attribute `json:"attributes,omitempty"`
	// Description of the API product. Include key information about the API product.
	Description string `json:"description,omitempty"`
	// Name to be displayed in the UI or developer portal to developers registering for API access.
	DisplayName string `json:"displayName"`
	// Comma-separated list of environment names to which the API product is bound. Requests to environments that are not listed are rejected. By specifying one or more environments, you can bind the resources listed in the API product to a specific environment, preventing developers from accessing those resources through API proxies deployed in another environment. This setting is used, for example, to prevent resources associated with API proxies in `prod` from being accessed by API proxies deployed in `test`.
	Environments []string `json:"environments,omitempty"`
	// Internal name of the API Product. Valid characters include: `A-Z0-9._\\-$ %`.  **Note**: The name is required when creating an API product. It cannot be edited when <a href=\"/docs/api-products/1/routes/organizations/%7Borg_name%7D/apiproducts/%7Bapiproduct_name%7D/put\">updating the API product</a>.
	Name string `json:"name,omitempty"`
	// Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Requests to API proxies not listed are rejected.  **Note**: The API proxy names must already exist in the specified environment as they will be validated upon creation.
	Proxies []string `json:"proxies,omitempty"`
	// Number of request messages permitted per app by this API product for the specified `quotaInterval` and `quotaTimeUnit`. For example, a `quota` of 50, for a `quotaInterval` of 12 and a `quotaTimeUnit` of hours means 50 requests are allowed every 12 hours.
	Quota string `json:"quota,omitempty"`
	// Time interval over which the number of request messages is calculated.
	QuotaInterval string `json:"quotaInterval,omitempty"`
	// Time unit defined for the `quotaInterval`.
	QuotaTimeUnit string `json:"quotaTimeUnit,omitempty"`
	// Comma-separated list of OAuth scopes that are validated at runtime. Apigee Edge validates that the scopes in any access token presented match the scopes defined in the OAuth policy assoicated with the API product.
	Scopes []string `json:"scopes,omitempty"`
}

ApiProductRequest API product request.

type ApiProxy

type ApiProxy struct {
	MetaData ApiProxyMetaData `json:"metaData,omitempty"`
	// Name of the API proxy.
	Name string `json:"name,omitempty"`
	// Revisions defined for the API proxy.
	Revision []string `json:"revision,omitempty"`
}

ApiProxy API proxy metadata and revisions.

type ApiProxyDeploymentDetailsEnv

type ApiProxyDeploymentDetailsEnv struct {
	// Name of the environment.
	Environment string `json:"environment,omitempty"`
	// Revision details.
	Revision []ApiProxyRevisionDeploymentsEnvironment `json:"revision,omitempty"`
	// Name of the API proxy.
	Name string `json:"name,omitempty"`
	// Name of the organization.
	Organization string `json:"organization,omitempty"`
}

ApiProxyDeploymentDetailsEnv API proxy deployment details in an environment.

type ApiProxyDeployments

type ApiProxyDeployments struct {
	// Environment details.
	Environment []string `json:"environment,omitempty"`
	// Name of the API proxy.
	Name string `json:"name,omitempty"`
	// Name of the organization.
	Organization string `json:"organization,omitempty"`
}

ApiProxyDeployments API proxy deployments.

type ApiProxyDeploymentsEnv

type ApiProxyDeploymentsEnv struct {
	// API proxy name and revision details.
	APIProxy []ApiProxyDeploymentsEnvAPiProxy `json:"aPIProxy,omitempty"`
	// Name of the API proxy.
	Name string `json:"name,omitempty"`
	// Name of the organization.
	Organization string `json:"organization,omitempty"`
}

ApiProxyDeploymentsEnv API proxy deployments in an environment.

type ApiProxyDeploymentsEnvAPiProxy

type ApiProxyDeploymentsEnvAPiProxy struct {
	// Name of the API proxy.
	Name string `json:"name,omitempty"`
	// Revision details.
	Revision []ApiProxyRevisionDeploymentDetailsEnvironment `json:"revision,omitempty"`
}

ApiProxyDeploymentsEnvAPiProxy struct for ApiProxyDeploymentsEnvAPiProxy

type ApiProxyDeploymentsOrg

type ApiProxyDeploymentsOrg struct {
	// Name of the environment.
	Environment []ApiProxyDeploymentsOrgEnvironment `json:"environment,omitempty"`
	// Name of the organization.
	Name string `json:"name,omitempty"`
}

ApiProxyDeploymentsOrg API proxy deployment details for an organization.

type ApiProxyDeploymentsOrgEnvironment

type ApiProxyDeploymentsOrgEnvironment struct {
	// API proxy name and revision details.
	APIProxy []ApiProxyDeploymentsEnvAPiProxy `json:"aPIProxy,omitempty"`
	// Name of the environment.
	Name string `json:"name,omitempty"`
}

ApiProxyDeploymentsOrgEnvironment struct for ApiProxyDeploymentsOrgEnvironment

type ApiProxyMetaData

type ApiProxyMetaData struct {
	// Time when the API proxy was created in milliseconds since epoch.
	CreatedAt int `json:"createdAt,omitempty"`
	// Email address of developer that created the API proxy.
	CreatedBy string `json:"createdBy,omitempty"`
	// Time when the API proxy was last modified in milliseconds since epoch.
	LastModifiedAt int `json:"lastModifiedAt,omitempty"`
	// Email address of developer that last modified the API proxy.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// Set to `null`.
	SubType string `json:"subType,omitempty"`
}

ApiProxyMetaData API proxy metadata.

type ApiProxyRequest

type ApiProxyRequest struct {
	// Name of the API proxy. Restrict the characters used to: `A-Za-z0-9._-`
	Name string `json:"name"`
}

ApiProxyRequest API proxy request.

type ApiProxyRevision

type ApiProxyRevision struct {
	// Base URL of the API proxy.
	Basepaths            string                               `json:"basepaths,omitempty"`
	ConfigurationVersion ApiProxyRevisionConfigurationVersion `json:"configurationVersion,omitempty"`
	// Revision number, app name, and organization for the API proxy.
	ContextInfo string `json:"contextInfo,omitempty"`
	// Time when the API proxy revision was created in milliseconds since epoch.
	CreatedAt int `json:"createdAt,omitempty"`
	// Email address of developer that created the API proxy revision.
	CreatedBy string `json:"createdBy,omitempty"`
	// Description of the API proxy revision.
	Description string `json:"description,omitempty"`
	// Human-readable name of the API proxy.
	DisplayName                string                                     `json:"displayName,omitempty"`
	EntityMetaDataAsProperties ApiProxyRevisionEntityMetaDataAsProperties `json:"entityMetaDataAsProperties,omitempty"`
	// Time when the API proxy version was last modified in millisenconds since epoch.
	LastModifiedAt int `json:"lastModifiedAt,omitempty"`
	// Email address of developer that last modified the API proxy.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// Manifest version.
	ManifestVersion string `json:"manifestVersion,omitempty"`
	// Name of the API proxy.
	Name string `json:"name"`
	// List of policies included in the API proxy revision.
	Policies []string `json:"policies,omitempty"`
	// List of API proxy names included in the API proxy revision.
	Proxies []string `json:"proxies,omitempty"`
	// List of the ProxyEndpoints in the `/proxies` directory. Typically, this element is included only when the API proxy was created using the Edge UI. This is a 'manifest' setting designed to provide visibility into the contents of the API proxy.
	ProxyEndpoints []string                      `json:"proxyEndpoints,omitempty"`
	ResourceFiles  ApiProxyRevisionResourceFiles `json:"resourceFiles,omitempty"`
	// List of resources included in the API proxy revision, formatted as `{type}://{name}`.
	Resources []string `json:"resources,omitempty"`
	// Revison of the API proxy.
	Revision string `json:"revision,omitempty"`
	// List of shared flows included in the API proxy revision.
	SharedFlows []string `json:"sharedFlows,omitempty"`
	// OpenAPI Specification that is associated with the API proxy. This value may be a URL or to a path in the spec store or on GitHub, for example.
	Spec interface{} `json:"spec,omitempty"`
	// List of TargetEndpoints in the `/targets` directory of the API proxy. Typically, this element is included only when the API proxy was created using the Edge  UI. This is a 'manifest' setting designed to provide visibility into the contents of the API proxy.
	TargetEndpoints []string `json:"targetEndpoints,omitempty"`
	// List of TargetServers referenced in any TargetEndpoints of the API proxy. Typically, this element is included only when the API proxy was created using the Edge  UI. This is a 'manifest' setting designed to provide visibility into the contents of the API proxy.
	TargetServers []string `json:"targetServers,omitempty"`
	// List of targets included in the API proxy revision.
	Targets []string `json:"targets,omitempty"`
	// Set to `Application`.
	Type string `json:"type,omitempty"`
}

ApiProxyRevision API proxy revision.

type ApiProxyRevisionConfigurationVersion

type ApiProxyRevisionConfigurationVersion struct {
	// Major version of the API proxy configuration schema. The only supported value is '4'.
	MajorVersion int `json:"majorVersion,omitempty"`
	// Minor version of the API proxy configuration schema. The only supported value is '0'.
	MinorVersion int `json:"minorVersion,omitempty"`
}

ApiProxyRevisionConfigurationVersion Version of the API proxy configuration schema to which this API proxy conforms. This setting may be used in the future to track the evolution of the API proxy format.

type ApiProxyRevisionDeploymentDetails

type ApiProxyRevisionDeploymentDetails struct {
	// API proxy revision deployment details in the environment.
	Environment []ApiProxyRevisionDeploymentDetailsEnvironment `json:"environment,omitempty"`
	// Name of the API proxy.
	Name string `json:"name,omitempty"`
	// Name of the organization.
	Organization string `json:"organization,omitempty"`
}

ApiProxyRevisionDeploymentDetails API proxy revision deployment details in an environment.

type ApiProxyRevisionDeploymentDetailsEnv

type ApiProxyRevisionDeploymentDetailsEnv struct {
	// Name of the API proxy.
	APIProxy      string                                   `json:"aPIProxy,omitempty"`
	Configuration ApiProxyRevisionDeploymentsConfiguration `json:"configuration,omitempty"`
	// Name of the environment.
	Environment string `json:"environment,omitempty"`
	// Revision of the API proxy.
	Name string `json:"name,omitempty"`
	// Name of the organization.
	Organization string `json:"organization,omitempty"`
	// Revision of the API proxy.
	Revision string `json:"revision,omitempty"`
	// Used by Apigee support to identify servers that support the API proxy or shared flow deployment.
	Server []ApiProxyRevisionDeploymentsServer `json:"server,omitempty"`
	// Deployment status, such as `deployed` or `undeployed`.
	State string `json:"state,omitempty"`
}

ApiProxyRevisionDeploymentDetailsEnv API proxy revision deployment details in an environment.

type ApiProxyRevisionDeploymentDetailsEnvironment

type ApiProxyRevisionDeploymentDetailsEnvironment struct {
	Configuration ApiProxyRevisionDeploymentsConfiguration `json:"configuration,omitempty"`
	// Revision of the API proxy.
	Name string `json:"name,omitempty"`
	// Used by Apigee support to identify servers that support the API proxy or shared flow deployment.
	Server []ApiProxyRevisionDeploymentsServer `json:"server,omitempty"`
	// Deployment status, such as `deployed` or `undeployed`.
	State string `json:"state,omitempty"`
}

ApiProxyRevisionDeploymentDetailsEnvironment struct for ApiProxyRevisionDeploymentDetailsEnvironment

type ApiProxyRevisionDeployments

type ApiProxyRevisionDeployments struct {
	// Name of the API proxy
	APIProxy interface{} `json:"aPIProxy,omitempty"`
	// API proxy deployment details in the environment.
	Environment []ApiProxyRevisionDeploymentsEnvironment `json:"environment,omitempty"`
	// Revision of the API proxy.
	Name string `json:"name,omitempty"`
	// Name of the organization.
	Organization string `json:"organization,omitempty"`
}

ApiProxyRevisionDeployments API proxy revision deployments.

type ApiProxyRevisionDeploymentsConfiguration

type ApiProxyRevisionDeploymentsConfiguration struct {
	// Basepath of the API proxy revision.
	BasePath string   `json:"basePath,omitempty"`
	Steps    []string `json:"steps,omitempty"`
}

ApiProxyRevisionDeploymentsConfiguration struct for ApiProxyRevisionDeploymentsConfiguration

type ApiProxyRevisionDeploymentsEnvironment

type ApiProxyRevisionDeploymentsEnvironment struct {
	Configuration ApiProxyRevisionDeploymentsConfiguration `json:"configuration,omitempty"`
	// Revision of the API proxy.
	Name string `json:"name,omitempty"`
	// Used by Apigee support to identify servers that support the API proxy or shared flow deployment.
	Server []ApiProxyRevisionDeploymentsServer `json:"server,omitempty"`
	// Deployment status, such as `deployed`.
	State string `json:"state,omitempty"`
}

ApiProxyRevisionDeploymentsEnvironment struct for ApiProxyRevisionDeploymentsEnvironment

type ApiProxyRevisionDeploymentsPod

type ApiProxyRevisionDeploymentsPod struct {
	// Pod name.
	Name string `json:"name,omitempty"`
	// Pod region.
	Region string `json:"region,omitempty"`
}

ApiProxyRevisionDeploymentsPod Pod details.

type ApiProxyRevisionDeploymentsServer

type ApiProxyRevisionDeploymentsServer struct {
	Pod ApiProxyRevisionDeploymentsPod `json:"pod,omitempty"`
	// Deployment status.
	Status string `json:"status,omitempty"`
	// Pod type.
	Type []string `json:"type,omitempty"`
	// Server ID.
	UUID string `json:"uUID,omitempty"`
}

ApiProxyRevisionDeploymentsServer struct for ApiProxyRevisionDeploymentsServer

type ApiProxyRevisionEntityMetaDataAsProperties

type ApiProxyRevisionEntityMetaDataAsProperties struct {
	// Type of bundle. Set to `zip`.
	BundleType string `json:"bundle_type,omitempty"`
	// Time when the API proxy revision was created in milliseconds since epoch.
	CreatedAt string `json:"createdAt,omitempty"`
	// Email address of developer that created the API proxy.
	CreatedBy string `json:"createdBy,omitempty"`
	// Time when the API proxy version was last modified in milliseconds since epoch.
	LastModifiedAt string `json:"lastModifiedAt,omitempty"`
	// Email address of developer that last modified the API proxy.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// Set to `null`.
	SubType string `json:"subType,omitempty"`
}

ApiProxyRevisionEntityMetaDataAsProperties Kev-value map of metadata describing the API proxy revision.

type ApiProxyRevisionResourceFiles

type ApiProxyRevisionResourceFiles struct {
	// Resource files included with the API proxy revision.
	ResourceFile []ApiProxyRevisionResourceFilesResourceFile `json:"resourceFile,omitempty"`
}

ApiProxyRevisionResourceFiles Resource files included with the API proxy revision.

type ApiProxyRevisionResourceFilesResourceFile

type ApiProxyRevisionResourceFilesResourceFile struct {
	// Name of the resource file.
	Name string `json:"name,omitempty"`
	// Type of resource file.
	Type string `json:"type,omitempty"`
}

ApiProxyRevisionResourceFilesResourceFile Resource filename.

type Attribute

type Attribute struct {
	// Name of attribute.
	Name string `json:"name,omitempty"`
	// Value of attribute.
	Value string `json:"value,omitempty"`
}

Attribute Developer attribute name and value.

type Attributes

type Attributes struct {
	Attribute []Attribute `json:"attribute,omitempty"`
}

Attributes Developer attributes.

type DeploymentDetails

type DeploymentDetails struct {
	// API proxy or shared flow deployment details in the environment.
	Environment []DeploymentDetailsEnvironment `json:"environment,omitempty"`
	// Name of the API proxy or shared flow.
	Name string `json:"name,omitempty"`
	// Name of the organization.
	Organization string `json:"organization,omitempty"`
}

DeploymentDetails API proxy or shared flow deployment details.

type DeploymentDetailsConfiguration

type DeploymentDetailsConfiguration struct {
	// Basepath of the API proxy or shared flow revision.
	BasePath string   `json:"basePath,omitempty"`
	Steps    []string `json:"steps,omitempty"`
}

DeploymentDetailsConfiguration struct for DeploymentDetailsConfiguration

type DeploymentDetailsEnvironment

type DeploymentDetailsEnvironment struct {
	// Name of the environment.
	Name string `json:"name,omitempty"`
	// Revision details.
	Revision []DeploymentDetailsRevision `json:"revision,omitempty"`
}

DeploymentDetailsEnvironment struct for DeploymentDetailsEnvironment

type DeploymentDetailsRevision

type DeploymentDetailsRevision struct {
	Configuration DeploymentDetailsConfiguration `json:"configuration,omitempty"`
	// Revision of the API proxy or shared flow.
	Name string `json:"name,omitempty"`
	// Used by Apigee support to identify servers that support the API proxy or shared flow deployment.
	Server []ApiProxyRevisionDeploymentsServer `json:"server,omitempty"`
	// Deployment status, such as `deployed`.
	State string `json:"state,omitempty"`
}

DeploymentDetailsRevision struct for DeploymentDetailsRevision

type Developer

type Developer struct {
	// Output only. List of apps associated with the developer.
	Apps []string `json:"apps,omitempty"`
	// List of attributes that can be used to extend the default developer profile. With Apigee Edge for Public Cloud, the custom attribute limit is 18.
	Attributes []Attribute `json:"attributes,omitempty"`
	// Output only. List of companies associated with the developer.
	Companies []string `json:"companies,omitempty"`
	// Output only. Time the developer was created in milliseconds since epoch.
	CreatedAt int `json:"createdAt,omitempty"`
	// Output only. Email address of the developer that created the developer.
	CreatedBy string `json:"createdBy,omitempty"`
	// ID of the developer. Generated internally by Apigee and not guaranteed to stay consistent over time.
	DeveloperId string `json:"developerId,omitempty"`
	// Email address of the developer. This value is used to uniquely identify the developer in Apigee Edge.
	Email string `json:"email,omitempty"`
	// First name of the developer.
	FirstName string `json:"firstName,omitempty"`
	// Last name of the developer.
	LastName string `json:"lastName,omitempty"`
	// Output only. Last modified time as milliseconds since epoch.
	LastModifiedAt int `json:"lastModifiedAt,omitempty"`
	// Output only. Email of developer that last modified the app.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// Output only. Name of the organization associated with the developer.
	OrganizationName string `json:"organizationName,omitempty"`
	// Status of the developer. Valid values are `active` and `inactive`.
	Status interface{} `json:"status,omitempty"`
	// Username. Not used by Apigee.
	UserName string `json:"userName,omitempty"`
}

Developer Developer details.

type DeveloperApp

type DeveloperApp struct {
	// Output only. App family.
	AppFamily string `json:"appFamily,omitempty"`
	// List of API products to which the app is associated (when creating or updating an app). The name of the API product is the name returned when you <a href=\"/docs/api-products/1/routes/organizations/%7Borg_name%7D/apiproducts/get\">list API products</a>. For example, if the Display Name of the API product in the Edge UI is `Premium API Product`, then the name is `premium-api-product` (all lowercase with spaces replaced by hyphens). You can add API products later when you <a href=\"/docs/developer-apps/1/routes/organizations/%7Borg_name%7D/developers/%7Bdeveloper_email%7D/apps/%7Bapp_name%7D/put\">update the developer app</a>. Existing API products are listed in the `credentials` array.
	ApiProducts []string `json:"apiProducts,omitempty"`
	// Output only. ID of the app.
	AppId string `json:"appId,omitempty"`
	// List of attributes used for customizing profile information or for app-specific processing. With Apigee Edge for Public Cloud, the custom attribute limit is 18. Note the folowing:  * `DisplayName` is an attribute that provides the app name in the Edge UI. This can be different from the name (unique ID) of the app. * `Notes` attribute lets you add notes about the developer app. * Any other arbitrary name/value pairs you create are included as custom attributes.
	Attributes []Attribute `json:"attributes,omitempty"`
	// Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to apps. See the OAuth 2.0 documentation for more details.
	CallbackUrl string `json:"callbackUrl,omitempty"`
	// Output only. Time the app was created in milliseconds since epoch.
	CreatedAt int `json:"createdAt,omitempty"`
	// Output only. Email address of the developer that created the app.
	CreatedBy string `json:"createdBy,omitempty"`
	// Output only. Set of credentials for the app. Credentials are API key/secret pairs associated with API products.
	Credentials []DeveloperAppCredentials `json:"credentials,omitempty"`
	// Output only. ID of the developer.
	DeveloperId string `json:"developerId,omitempty"`
	// Lifetime of the consumer key that will be generated for the developer app, in milliseconds. The default value, `-1`, indicates an infinite validity period. Once set, the expiration can't be updated.
	KeyExpiresIn int `json:"keyExpiresIn,omitempty"`
	// Output only. Last modified time as milliseconds since epoch.
	LastModifiedAt int `json:"lastModifiedAt,omitempty"`
	// Output only. Email of developer that last modified the app.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// Name of the developer app. Required when creating a developer app; not required when updating a developer app.   The name is used to uniquely identify the app for this organization and developer. Names must begin with an alphanumeric character and can contain letters, numbers, spaces, and the following characters: `. _ # - $ %`. While you can use spaces in the name, we recommend that you use camel case, underscores, or hyphens instead. Otherwise, you will have to URL-encode the app name when you need to include it in the URL of other Edge API calls. See the <a href=\"https://docs.apigee.com/api-platform/reference/naming-guidelines\">naming restrictions</a>.
	Name string `json:"name"`
	// Scopes to apply to the app. The specified scope names must already exist on the API product that you associate with the app.
	Scopes []string `json:"scopes,omitempty"`
	// Status of the credential.
	Status string `json:"status,omitempty"`
}

DeveloperApp Developer app details.

type DeveloperAppCredentials

type DeveloperAppCredentials struct {
	// Name and status of API products associated with the app.
	ApiProducts []ApiProductRef `json:"apiProducts,omitempty"`
	// List of attributes.
	Attributes []Attribute `json:"attributes,omitempty"`
	// Consumer API key.
	ConsumerKey string `json:"consumerKey,omitempty"`
	// Consumer secret.
	ConsumerSecret string `json:"consumerSecret,omitempty"`
	// Time the credentials expire in milliseconds since epoch.
	ExpiresAt int `json:"expiresAt,omitempty"`
	// Time the credentials were issued in milliseconds since epoch.
	IssuedAt int `json:"issuedAt,omitempty"`
	// OAuth scopes.
	Scopes []string `json:"scopes,omitempty"`
	// Status of the credentials.
	Status string `json:"status,omitempty"`
}

DeveloperAppCredentials struct for DeveloperAppCredentials

type DeveloperAppRequest

type DeveloperAppRequest struct {
	// List of API products to which the app is associated (when creating or updating an app). The name of the API product is the name returned when you <a href=\"/docs/api-products/1/routes/organizations/%7Borg_name%7D/apiproducts/get\">list API products</a>. For example, if the Display Name of the API product in the Edge UI is `Premium API Product`, then the name is `premium-api-product` (all lowercase with spaces replaced by hyphens). You can add API products later when you <a href=\"/docs/developer-apps/1/routes/organizations/%7Borg_name%7D/developers/%7Bdeveloper_email%7D/apps/%7Bapp_name%7D/put\">update the developer app</a>. Existing API products are listed in the `credentials` array.
	ApiProducts []string `json:"apiProducts,omitempty"`
	// List of attributes used for customizing profile information or for app-specific processing. With Apigee Edge for Public Cloud, the custom attribute limit is 18. Note the folowing:  * `DisplayName` is an attribute that provides the app name in the Edge UI. This can be different from the name (unique ID) of the app. * `Notes` attribute lets you add notes about the developer app. * Any other arbitrary name/value pairs you create are included as custom attributes.
	Attributes []Attribute `json:"attributes,omitempty"`
	// Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to apps. See the OAuth 2.0 documentation for more details.
	CallbackUrl string `json:"callbackUrl,omitempty"`
	// Lifetime of the consumer key that will be generated for the developer app, in milliseconds. The default value, `-1`, indicates an infinite validity period. Once set, the expiration can't be updated.
	KeyExpiresIn int `json:"keyExpiresIn,omitempty"`
	// Name of the developer app. Required when creating a developer app; not required when updating a developer app.   The name is used to uniquely identify the app for this organization and developer. Names must begin with an alphanumeric character and can contain letters, numbers, spaces, and the following characters: `. _ # - $ %`. While you can use spaces in the name, we recommend that you use camel case, underscores, or hyphens instead. Otherwise, you will have to URL-encode the app name when you need to include it in the URL of other Edge API calls. See the <a href=\"https://docs.apigee.com/api-platform/reference/naming-guidelines\">naming restrictions</a>.
	Name string `json:"name"`
	// Scopes to apply to the app. The specified scope names must already exist on the API product that you associate with the app.
	Scopes []string `json:"scopes,omitempty"`
	// Status of the credential.
	Status string `json:"status,omitempty"`
}

DeveloperAppRequest Developer app request.

type DeveloperRequest

type DeveloperRequest struct {
	// List of attributes that can be used to extend the default developer profile. With Apigee Edge for Public Cloud, the custom attribute limit is 18.
	Attributes []Attribute `json:"attributes,omitempty"`
	// Email address of the developer. This value is used to uniquely identify the developer in Apigee Edge.
	Email string `json:"email"`
	// First name of the developer.
	FirstName string `json:"firstName"`
	// Last name of the developer.
	LastName string `json:"lastName"`
	// Username. Not used by Apigee.
	UserName string `json:"userName"`
}

DeveloperRequest Developer request.

type Developers

type Developers struct {
	Developer []Developer `json:"developer,omitempty"`
}

Developers List of developer details.

type Environment

type Environment struct {
	// Output only. Time the environment was created in milliseconds since epoch.
	CreatedAt int `json:"createdAt,omitempty"`
	// Output only. Email address of the admin that created the environment.
	CreatedBy string `json:"createdBy,omitempty"`
	// Description of the environment.
	Description string `json:"description,omitempty"`
	// Output only. Time the environment was last modified in milliseconds since epoch.
	LastModifiedAt int `json:"lastModifiedAt,omitempty"`
	// Output only. Email of admin that last modified the environment.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// Name of the environment. Valid characters include: `a-zA-Z0-9._\\-$ %`.
	Name       string                `json:"name"`
	Properties EnvironmentProperties `json:"properties,omitempty"`
}

Environment Environment details.

type EnvironmentProperties

type EnvironmentProperties struct {
	// Environment property names and values.
	Property []EnvironmentPropertiesProperty `json:"property,omitempty"`
}

EnvironmentProperties List of properties that can be used to customize the environment.

type EnvironmentPropertiesProperty

type EnvironmentPropertiesProperty struct {
	// Name of property.
	Name string `json:"name,omitempty"`
	// Set to `\"true\"` to enable or `\"false\"` to disable the property.
	Value string `json:"value,omitempty"`
}

EnvironmentPropertiesProperty struct for EnvironmentPropertiesProperty

type FlowHook

type FlowHook struct {
	// Flag that specifies whether execution should continue if the flow hook throws an exception.
	ContinueOnError string `json:"continueOnError,omitempty"`
	// Shared flow attached to the flow hook. Omitted if no shared flow is attached.
	SharedFlow string `json:"sharedFlow,omitempty"`
	// Displays the updated deployment status of the flow hook, such as `deployed` or `undeployed`. Only displays when attaching to or detaching from a flow hook.
	State string `json:"state,omitempty"`
}

FlowHook Flow hook attachment details.

type InlineObject

type InlineObject struct {
	FlowHook OrganizationsOrgNameEnvironmentsEnvNameFlowhooksFlowHookFlowHook `json:"FlowHook,omitempty"`
}

InlineObject struct for InlineObject

type InlineResponse200

type InlineResponse200 struct {
	ResourceFile []ResourceFile `json:"resourceFile,omitempty"`
}

InlineResponse200 struct for InlineResponse200

type Metrics

type Metrics struct {
	// Environment details.
	Environments []MetricsEnvironments `json:"environments,omitempty"`
}

Metrics Metric details.

type MetricsDimensions

type MetricsDimensions struct {
	// List of metrics.
	Metrics []MetricsMetrics `json:"metrics,omitempty"`
	// Dimension name.
	Name string `json:"name,omitempty"`
}

MetricsDimensions struct for MetricsDimensions

type MetricsEnvironments

type MetricsEnvironments struct {
	// Dimension details.
	Dimensions []MetricsDimensions `json:"dimensions,omitempty"`
	// Environment name.
	Name string `json:"name,omitempty"`
}

MetricsEnvironments struct for MetricsEnvironments

type MetricsMetrics

type MetricsMetrics struct {
	// Metric details.
	Name         string      `json:"name,omitempty"`
	Values       interface{} `json:"values,omitempty"`
	MetricValues []MetricsValues
}

MetricsMetrics struct for MetricsMetrics

func (*MetricsMetrics) UnmarshalJSON

func (m *MetricsMetrics) UnmarshalJSON(bytes []byte) error

UnmarshalJSON - unmarshal json for MetricsMetrics

type MetricsValues

type MetricsValues struct {
	// Timestamp in millieseconds since epoch.
	Timestamp int64 `json:"timestamp,omitempty"`
	// Value of metric.
	Value string `json:"value,omitempty"`
}

MetricsValues struct for MetricsValues

type OrganizationsOrgNameEnvironmentsEnvNameFlowhooksFlowHookFlowHook

type OrganizationsOrgNameEnvironmentsEnvNameFlowhooksFlowHookFlowHook struct {
	// Shared flow to attach to the flow hook.
	SharedFlow string `json:"SharedFlow,omitempty"`
}

OrganizationsOrgNameEnvironmentsEnvNameFlowhooksFlowHookFlowHook struct for OrganizationsOrgNameEnvironmentsEnvNameFlowhooksFlowHookFlowHook

type Policy

type Policy struct {
	// This attribute is deprecated.
	Async string `json:"async,omitempty"`
	// Flag that specifies whether to continue flow execution even after the policy fails. Set to `true` to continue flow execution. Defaults to `false`.
	ContinueOnError string `json:"continueOnError,omitempty"`
	// Display name used to label the policy in the Edge UI proxy editor with a different, natural-language name.
	DisplayName string `json:"DisplayName,omitempty"`
	// Flag that specifies whether the policy is enabled. Set to `false` to \"turn off\" the policy. Defaults to `true`.
	Enabled string `json:"enabled,omitempty"`
	// Internal name of the policy. The value of the name attribute can contain letters, numbers, spaces, hyphens, underscores, and periods. This value cannot exceed 255 characters. Optionally, set `DisplayName` to label the policy in the Edge UI proxy editor with a different, natural-language name.
	Name string `json:"name,omitempty"`
}

Policy Policy details. Descriptions of common policy elements and attributes are provided below. For information about the complete set of elements available for each policy type, see <a href=\"https://docs.apigee.com/api-platform/reference/policies/reference-overview-policy\">Policy reference overview</a>.

type ResourceFile

type ResourceFile struct {
	// Name of the resource file.
	Name string `json:"name,omitempty"`
	// Type of the resource file.
	Type string `json:"type,omitempty"`
}

ResourceFile Resource file details.

type SharedFlow

type SharedFlow struct {
	Metadata SharedFlowMetadata `json:"metadata,omitempty"`
	// Name of the shared flow.
	Name string `json:"name,omitempty"`
	// Revisions defined for the shared flow.
	Revision []string `json:"revision,omitempty"`
}

SharedFlow Shared flow metadata and revisions.

type SharedFlowMetadata

type SharedFlowMetadata struct {
	// Time when the shared flow was created in milliseconds since epoch.
	CreatedAt int `json:"createdAt,omitempty"`
	// Email address of developer that created the shared flow.
	CreatedBy string `json:"createdBy,omitempty"`
	// Time when the shared flow was last modified in milliseconds since epoch.
	LastModifiedAt int `json:"lastModifiedAt,omitempty"`
	// Email address of developer that last modified the shared flow.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
}

SharedFlowMetadata Shared flow metadata.

type SharedFlowRevision

type SharedFlowRevision struct {
	// Base paths for the shared flow.
	Basepaths            []string                               `json:"basepaths,omitempty"`
	ConfigurationVersion SharedFlowRevisionConfigurationVersion `json:"configurationVersion,omitempty"`
	// Revision number, app name, and organization for the shared flow.
	ContextInfo string `json:"contextInfo,omitempty"`
	// Time when the shared flow revision was created in milliseconds since epoch.
	CreatedAt int `json:"createdAt,omitempty"`
	// Email address of developer that created the shared flow.
	CreatedBy string `json:"createdBy,omitempty"`
	// Description of the shared flow.
	Description string `json:"description,omitempty"`
	// Display name for the shared flow.
	DisplayName                string                                       `json:"displayName,omitempty"`
	EntityMetaDataAsProperties SharedFlowRevisionEntityMetaDataAsProperties `json:"entityMetaDataAsProperties,omitempty"`
	// Time when the shared flow version was last modified in milliseconds since epoch.
	LastModifiedAt int `json:"lastModifiedAt,omitempty"`
	// Email address of developer that last modified the shared flow.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// Manifest version of the bundle.
	ManifestVersion string `json:"manifestVersion,omitempty"`
	// Name of the shared flow.
	Name string `json:"name,omitempty"`
	// List of policies included in the shared flow revision.
	Policies []string `json:"policies,omitempty"`
	// List of API proxy names included in the shared flow revision.
	Proxies       []string                        `json:"proxies,omitempty"`
	ResourceFiles SharedFlowRevisionResourceFiles `json:"resourceFiles,omitempty"`
	// List of resources included in the shared flow revision, formatted as `{type}://{name}`.
	Resources []string `json:"resources,omitempty"`
	// List of shared flows included in the shared flow revision.
	SharedFlows []string `json:"sharedFlows,omitempty"`
	// OpenAPI Specification that is associated with the shared flow. This value may be a URL or to a path in the spec store or on GitHub, for example.
	Spec interface{} `json:"spec,omitempty"`
	// List of TargetServers referenced in any TargetEndpoints of the shared flow. Typically, this element is included only when the shared flow was created using the Edge  UI. This is a 'manifest' setting designed to provide visibility into the contents of the shared flow.
	TargetServers []string `json:"targetServers,omitempty"`
	// List of targets included in the shared flow revision.
	Targets []string `json:"targets,omitempty"`
	// Set to `Application`.
	Type string `json:"type,omitempty"`
}

SharedFlowRevision Shared flow revision.

type SharedFlowRevisionConfigurationVersion

type SharedFlowRevisionConfigurationVersion struct {
	// Major version of the shared flow configuration schema. The only supported value is '4'.
	MajorVersion int `json:"majorVersion,omitempty"`
	// Minor version of the shared flow configuration schema. The only supported value is '0'.
	MinorVersion int `json:"minorVersion,omitempty"`
}

SharedFlowRevisionConfigurationVersion Version of the shared flow configuration schema to which this shared flow conforms. This setting may be used in the future to track the evolution of the shared flow format.

type SharedFlowRevisionDeploymentDetails

type SharedFlowRevisionDeploymentDetails struct {
	// Name of the environment.
	Environment string `json:"environment,omitempty"`
	// Revision of the shared flow.
	Name string `json:"name,omitempty"`
	// Name of the organization.
	Organization string `json:"organization,omitempty"`
	// Revision of the shared flow.
	Revision string `json:"revision,omitempty"`
	// Used by Apigee support to identify servers that support the API proxy or shared flow deployment.
	Server []ApiProxyRevisionDeploymentsServer `json:"server,omitempty"`
	// Name of the shared flow.
	SharedFlow string `json:"sharedFlow,omitempty"`
	// Deployment status, such as `deployed` or `undeployed`.
	State string `json:"state,omitempty"`
}

SharedFlowRevisionDeploymentDetails Shared flow revision deployment details in an environment.

type SharedFlowRevisionDeploymentDetailsEnv

type SharedFlowRevisionDeploymentDetailsEnv struct {
	// Environment details.
	Environment []SharedFlowRevisionDeploymentDetailsEnvEnvironment `json:"environment,omitempty"`
	// Revision of the shared flow.
	Name string `json:"name,omitempty"`
	// Name of the organization.
	Organization string `json:"organization,omitempty"`
	// Name of the shared flow.
	SharedFlow string `json:"sharedFlow,omitempty"`
}

SharedFlowRevisionDeploymentDetailsEnv Shared flow revision deployed environment details.

type SharedFlowRevisionDeploymentDetailsEnvEnvironment

type SharedFlowRevisionDeploymentDetailsEnvEnvironment struct {
	// Environment name.
	Name string `json:"name,omitempty"`
	// Used by Apigee support to identify servers that support the API proxy or shared flow deployment.
	Server []ApiProxyRevisionDeploymentsServer `json:"server,omitempty"`
	// Deployment status, such as `deployed` or `undeployed`.
	State string `json:"state,omitempty"`
}

SharedFlowRevisionDeploymentDetailsEnvEnvironment struct for SharedFlowRevisionDeploymentDetailsEnvEnvironment

type SharedFlowRevisionEntityMetaDataAsProperties

type SharedFlowRevisionEntityMetaDataAsProperties struct {
	// Type of bundle. Set to `zip`.
	BundleType string `json:"bundle_type,omitempty"`
	// Time when the shared flow revision was created in milliseconds since epoch.
	CreatedAt string `json:"createdAt,omitempty"`
	// Email address of developer that created the shared flow.
	CreatedBy string `json:"createdBy,omitempty"`
	// Time when the shared flow version was last modified in milliseconds since epoch.
	LastModifiedAt string `json:"lastModifiedAt,omitempty"`
	// Email address of developer that last modified the shared flow.
	LastModifiedBy string `json:"lastModifiedBy,omitempty"`
	// Set to `null`.
	SubType string `json:"subType,omitempty"`
}

SharedFlowRevisionEntityMetaDataAsProperties Kev-value map of metadata describing the shared flow revision.

type SharedFlowRevisionResourceFiles

type SharedFlowRevisionResourceFiles struct {
	// Resource files included with the shared flow revision.
	ResourceFile []SharedFlowRevisionResourceFilesResourceFile `json:"resourceFile,omitempty"`
}

SharedFlowRevisionResourceFiles Resource files included with the shared flow revision.

type SharedFlowRevisionResourceFilesResourceFile

type SharedFlowRevisionResourceFilesResourceFile struct {
	// Name of the resource file.
	Name string `json:"name,omitempty"`
	// Type of resource file.
	Type string `json:"type,omitempty"`
}

SharedFlowRevisionResourceFilesResourceFile Resource filename.

type SslInfo

type SslInfo struct {
	// **Edge for Private Cloud version 4.15.07 and earlier only.**  Specifies the ciphers supported by the virtual host. If no ciphers are specified, then all ciphers available for the JVM will be permitted.  To restrict ciphers, add the following elements: `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA` and `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256`
	Ciphers []string `json:"ciphers,omitempty"`
	// Flag that specifies whether to enable two-way, or client, TLS between Edge (server) and the app (client) making the request. Enabling two-way TLS requires that you set up a truststore on Edge that contains the cert from the TLS client.
	ClientAuthEnabled string `json:"clientAuthEnabled,omitempty"`
	// Flag that specifies whether to enable one-way TLS/SSL. You must have defined a keystore containing the cert and private key.  **For Edge for Public Cloud**:  * You must have a cert signed by a trusted entity, such as Symantec or VeriSign. You cannot use a self-signed cert, or leaf certificates signed by a self-signed CA. * If your existing virtual host is configured to use a port other than `443`, you cannot change the TLS setting. That means you cannot change the TLS setting from enabled to disabled, or from disabled to enabled.
	Enabled string `json:"enabled,omitempty"`
	// Flag that specifies whether to ignore TLS certificate errors. This is similar to the `-k` option to curl.  This option is valid when configuring TLS for Target Servers and Target Endpoints, and when configuring virtual hosts that use 2-way TLS.  When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
	IgnoreValidationErrors bool `json:"ignoreValidationErrors,omitempty"`
	// Alias specified when you uploaded the cert and private key to the keystore. You must specify the alias name literally; you cannot use a reference. See <a href=\"https://docs.apigee.com/api-platform/system-administration/options-configuring-tls\">Options for configuring TLS</a> for more.
	KeyAlias string `json:"keyAlias,omitempty"`
	// Name of the keystore on Edge. Apigee recommends that you use a reference to specify the keystore name so that you can change the keystore without having to restart Routers. See <a href=\"https://docs.apigee.com/api-platform/system-administration/options-configuring-tls\">Options for configuring TLS</a> for more.
	KeyStore string `json:"keyStore,omitempty"`
	// **Edge for Private Cloud version 4.15.07 and earlier only.**  Specifies the protocols supported by the virtual host. If no protocols are specified, then all protocols available for the JVM will be permitted.  To restrict protocols, add the following elements: `TLSv1`, `TLSv1.2`, and `SSLv2Hello`
	Protocols []string `json:"protocols,omitempty"`
	// Name of the truststore on Edge that contains the certificate or certificate chain used for two-way TLS. Required if `clientAuthEnabled` is `true`.  Apigee recommends that you use a reference to specify the truststore name so that you can change the truststore without having to restart Routers. See <a href=\"https://docs.apigee.com/api-platform/system-administration/options-configuring-tls\">Options for configuring TLS</a> for more.
	TrustStore string `json:"trustStore,omitempty"`
}

SslInfo SSL information.

type VirtualHost

type VirtualHost struct {
	// List of host aliases.   A host alias provides the publicly visible DNS name of the virtual host on the Router and optionally includes the port number. The combination of host alias name and port number for the virtual host must be unique for all virtual hosts in the Edge installation. That means multiple virtual hosts can use the same port number if they have different host aliases.  You must create a DNS entry and CNAME record that matches the host alias, and the host alias must match the string that the client passes in the `Host` header.   The port number in `HostAliases` is optional. If you specify the port as part of the host alias, you must also specify the same port by using the `Port` element. Or, you can specify two `HostAliases` elements, one with the port number and one without.    You can have multiple `HostAlias` definitions in the same virtual host definition, corresponding to multiple DNS entries for the virtual host, but not for multiple ports. If you want multiple ports, create multiple virtual host definitions with different ports.   You can include the `*` wildcard character in the host alias. The `*` wildcard character can only be at the start (preceding the first `.`) of the host alias, and cannot be mixed with other characters. For example `*.example.com`. The TLS cert for the virtual host must have a matching wildcard in the CN name of the cert. For example, `*.example.com`. Using a wildcard in a virtual host alias lets API proxies handle calls addressed to multiple subdomains such as `alpha.example.com`, `beta.example.com`, or `live.example.com`. Using a wildcard alias also helps you use fewer virtual hosts per environment to stay within product limits, since a virtual host with a wild card counts as only one virtual host.  **For Cloud**: If you have an existing virtual host that uses a port other than `443`, you cannot add or remove a host alias.   **For Private Cloud**: If you are setting the host alias by using the IP addresses of your Routers, and not DNS entries, add a separate host alias for each Router, specifying the IP address of each Router and port of the virtual host.
	HostAliases []string `json:"hostAliases,omitempty"`
	// **Edge for Private Cloud only.**   List of network interfaces that you want the `port` to be bound to. If you omit this element, the `port` is bound on all interfaces.
	Interfaces []string `json:"interfaces,omitempty"`
	// **Private Cloud 4.18.01 and later and for Edge Cloud by contacting <a href=\"https://cloud.google.com/apigee/support\">Apigee Support</a>.**    If you use an ELB in TCP pass-thru mode to handle requests to the Edge Routers, the Router treats the IP address of the ELB as the client IP instead of the actual client IP. If the Router requires the true client IP, enable `proxy_protocol` on the ELB so that it passes the client IP in the TCP packet. On the Router, you must also set the `listenOption` on the virtual host to `proxy_protocol`. Because the ELB is in TCP pass-thru mode, you typically terminate TLS on the Router. Therefore, you usually only configure the virtual host to use proxy_protocol when you also configure it to use TLS.                     The default value for `listenOptions` is an empty string. To later unset `listenOptions`, update the virtual host and omit the `listenOptions` property from the payload.
	ListenOptions []string `json:"listenOptions,omitempty"`
	// Virtual host name. Valid values include: `A-Z0-9._\\-$%`
	Name string `json:"name,omitempty"`
	// Port number used by the virtual host. Ensure that the port is open on the Edge Router.  If you specify a port in a `hostAliases` element, then the port number specified by `port` must match it.  **For Cloud**: You must specify port `443` when creating a virtual host. If omitted, by default the port is set to `443`. If you have an existing virtual host that uses a port other than `443`, you cannot change the port.  **For Private Cloud releases 4.16.01 through 4.17.05**: When creating a virtual host, you specify the Router port used by the virtual host. For example, port `9001`. By default, the Router runs as the user `apigee` which does not have access to privileged ports, typically ports `1024` and below. If you want to create a virtual host that binds the Router to a protected port then you have to configure the Router to run as a user with access to those ports. See <a href=\"https://docs.apigee.com/private-cloud/latest/setting-virtual-host\">Setting up a virtual host</a> for more.  **For Private Cloud releases prior to 4.16.01**: A Router can listen to only one HTTPS connection per virtual host, on a specific port, with the specified cert. Therefore, multiple virtual hosts cannot use the same port number if TLS termination occurs on the Router at the specified port.
	Port string `json:"port,omitempty"`
	// Base URL that overrides the URL displayed by the Edge UI for an API proxy deployed to the virtual host. Useful when you have an external load balancer in front of the Edge Routers. See <a href=\"https://docs.apigee.com/api-platform/system-administration/creating-virtual-host\">Configuring TLS access to an API for the Private Cloud</a> for more.  The value of BaseUrl must include the protocol (that is, `http://` or `https://`).
	BaseUrl string `json:"baseUrl,omitempty"`
	// Flag that specifies whether the OCSP (Online Certificate Status Protocol) client is enabled. The OSCP sends a status request to an OCSP responder to determine if the TLS certificate is valid. The response indicates if the TLS certificate is valid and not revoked.  When enabled, OCSP stapling allows Edge, acting as the TLS server for one-way TLS, to query the OCSP responder directly and then cache the response. Edge then returns this response to the TLS client, or staples it, as part of TLS handshaking. See <a href=\"https://www.digicert.com/enabling-ocsp-stapling.htm\">Enable OCSP Stapling on Your Server</a> for more.     TLS must be enabled to enable OCSP stapling. Set to `on` to enable. Defaults to `off`.
	OCSPStapling string `json:"oCSPStapling,omitempty"`
	// **Edge for Public Cloud and Edge for Private Cloud 4.18.01 and later**. Configuration that determines how the Router reacts for this virtual host when the Message Processor goes down.                   You can specify multiple values. Valid values include:                   * `off`: Disables retry and the virtual host returns a failure code upon a request.      * `http_599`(Default): If the Router receives an `HTTP 599` response from the Message Processor, the Router forwards the request to the next Message Processor. `HTTP 599` is a special response code that is generated by a Message Processor when it is being shut down. The Message Processor tries to complete all existing requests, but for any new requests it responds with `HTTP 599` to signal to the Router to retry the request on the next Message Processor.      * `error`: If an error occurred while establishing a connection with the Message Processor, passing a request to it, or reading the response header from it, the Router forwards the request to the next Message Processor.      * `timeout`:  If a timeout occurs while establishing a connection with the Message Processor, passing a request to it, or reading the response header from it, the Router forwards the request to the next Message Processor.      * `invalid_header`:  If the Message Processor returned an empty or invalid response, the Router forwards the request to the next Message Processor.      * `http_XXX`:  If the Message Processor returned a response with HTTP code `XXX`, the Router forwards the request to the next Message Processor.                   If you specify multiple values, the Router uses a logical OR to combine them.
	RetryOptions []string `json:"retryOptions,omitempty"`
	// SSL information.
	SSLInfo *SslInfo `json:"sSLInfo,omitempty"`
	// **Edge for Public Cloud only.**  Flag that specifies whether to use the Apigee freetrial cert and key. If you have a paid Edge for Cloud account and do not yet have a TLS cert and key, you can create a virtual host that uses the Apigee freetrial cert and key. That means you can create the virtual host without first creating a keystore.  The Apigee freetrial cert is defined for a domain of `*.apigee.net`. Therefore, the `HostAlias` of the virtual host must also be in the form `*.apigee.net`.  See <a href=\"https://docs.apigee.com/api-platform/fundamentals/configuring-virtual-hosts-cloud#creatingavirtualhost\">Defining a virtual host that uses the Apigee freetrial cert and key</a>.
	UseBuiltInFreeTrailCert string                             `json:"useBuiltInFreeTrailCert,omitempty"`
	PropagateTLSInformation VirtualHostPropagateTlsInformation `json:"propagateTLSInformation,omitempty"`
	Properties              VirtualHostProperties              `json:"properties,omitempty"`
}

VirtualHost Virtual host details. See also <a href=\"https://docs.apigee.com/api-platform/fundamentals/virtual-host-property-reference\">Virtual host property reference</a>.

type VirtualHostPropagateTlsInformation

type VirtualHostPropagateTlsInformation struct {
	// Flag that specifies whether to enable the capture of TLS connection information by Edge. This information will be made available as flow variables in an API proxy. See <a href=\"https://docs.apigee.com/api-platform/system-administration/tls-vars\">Accessing TLS connection information in an API proxy</a> for more.
	ConnectionProperties string `json:"ConnectionProperties,omitempty"`
	// Flag that specifies whether to enable the capture of client cert details captured by Edge in two-way TLS. This information will be made available as flow variables in an API proxy. See <a href=\"https://docs.apigee.com/api-platform/system-administration/tls-vars\">Accessing TLS connection information in an API proxy</a> for more.
	ClientProperties string `json:"ClientProperties,omitempty"`
}

VirtualHostPropagateTlsInformation **Edge for Public Cloud only (Alpha).**

type VirtualHostProperties

type VirtualHostProperties struct {
	// Property name and value. For a list of valid properties, see  <a href=\"https://docs.apigee.com/api-platform/fundamentals/virtual-host-property-reference#virtualhostconfigurationproperties\">Virtual host configuration properties</a>.
	Property []VirtualHostPropertiesProperty `json:"Property,omitempty"`
}

VirtualHostProperties **Edge Cloud and for Private Cloud 4.17.01 and later.** List of properties.

type VirtualHostPropertiesProperty

type VirtualHostPropertiesProperty struct {
	// Property name.
	Name string `json:"_name,omitempty"`
	// Property value.
	Text string `json:"__text,omitempty"`
}

VirtualHostPropertiesProperty struct for VirtualHostPropertiesProperty

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL