Questo contenuto non è disponibile nella lingua selezionata.
Chapter 2. Using the 3scale toolbox
The 3scale toolbox is a Ruby client that enables you to manage 3scale services from the command line.
2.1. Installing the toolbox Copia collegamentoCollegamento copiato negli appunti!
The officially supported methods of installing the 3scale toolbox are:
-
Red Hat Enterprise Linux using
yum
orrpm
- 3scale toolbox container image
2.1.1. Installing the toolbox on RHEL Copia collegamentoCollegamento copiato negli appunti!
You can install the toolbox on Red Hat Enterprise Linux using yum
or rpm
.
Prerequisites
You must enable access to the following repositories:
-
rhel-7-server-3scale-amp-2.6-rpms
-
rhel-server-rhscl-7-rpms
For example:
sudo subscription-manager repos --enable=rhel-7-server-3scale-amp-2.6-rpms --enable rhel-server-rhscl-7-rpms
$ sudo subscription-manager repos --enable=rhel-7-server-3scale-amp-2.6-rpms --enable rhel-server-rhscl-7-rpms
Procedure
Install the toolbox:
yum install 3scale-toolbox
$ yum install 3scale-toolbox
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify the installation:
3scale help
$ 3scale help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.2. Installing the toolbox container image Copia collegamentoCollegamento copiato negli appunti!
Prerequisites
-
See the Red Hat Container Catalog page for the
3scale-amp26/toolbox
image. - You must have a Red Hat registry service account.
- You must have Docker installed and the daemon running.
Procedure
Log in to the Red Hat container registry:
docker login registry.redhat.io
$ docker login registry.redhat.io Username: ${REGISTRY-SERVICE-ACCOUNT-USERNAME} Password: ${REGISTRY-SERVICE-ACCOUNT-PASSWORD} Login Succeeded!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pull the toolbox container image:
docker pull registry.redhat.io/3scale-amp26/toolbox
$ docker pull registry.redhat.io/3scale-amp26/toolbox
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify the installation:
docker run --rm registry.redhat.io/3scale-amp26/toolbox:latest 3scale help
$ docker run --rm registry.redhat.io/3scale-amp26/toolbox:latest 3scale help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Additional resources
- For details on installing with podman or OpenShift, see the instructions on getting the image in the Red Hat Container Catalog.
2.1.3. Installing unsupported toolbox versions Copia collegamentoCollegamento copiato negli appunti!
You can however use unsupported versions on Fedora Linux, Ubuntu Linux, Windows, or macOS by downloading and installing the latest .rpm
, .deb
, .msi
or .pkg
file from GitHub.
2.2. Using supported toolbox commands Copia collegamentoCollegamento copiato negli appunti!
Use the 3scale toolbox to manage your API from the command line tool (CLI).
The update command has been deprecated and replaced by the copy command.
- Red Hat discourages the use of deprecated features.
The following commands are supported:
2.3. Importing services Copia collegamentoCollegamento copiato negli appunti!
Import services from a CSV file by specifying the following fields in this order (you also need to include these headers in your CSV file):
service_name,endpoint_name,endpoint_http_method,endpoint_path,auth_mode,endpoint_system_name,type
service_name,endpoint_name,endpoint_http_method,endpoint_path,auth_mode,endpoint_system_name,type
You will need the following information:
-
3scale admin account:
{3SCALE_ADMIN}
-
domain your 3scale instance is running on:
{DOMAIN_NAME}
(if you are using hosted APICast this is 3scale.net) -
access key of your account:
{ACCESS_KEY}
-
CSV file of services (
examples/import_example.csv
)
Import the services by running:
3scale import csv --destination=https://{ACCESS_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} --file=examples/import_example.csv
$ 3scale import csv --destination=https://{ACCESS_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} --file=examples/import_example.csv
2.4. Copying services Copia collegamentoCollegamento copiato negli appunti!
Create a new service based on an existing one from the same account or from another account. When you copy a service, the relevant ActiveDocs are also copied.
You need the following information:
-
service id you want to copy:
{SERVICE_ID}
-
3scale admin account:
{3SCALE_ADMIN}
-
domain your 3scale instance is running on:
{DOMAIN_NAME}
(if you are using hosted APICast this is 3scale.net) -
access key of your account:
{ACCESS_KEY}
-
access key of the destination account if you are copying to a different account:
{DEST_KEY}
-
name for the new service:
{NEW_NAME}
3scale copy service {SERVICE_ID} --source=https://{ACCESS_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} --destination=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} --target_system_name={NEW_NAME}
$ 3scale copy service {SERVICE_ID} --source=https://{ACCESS_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} --destination=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} --target_system_name={NEW_NAME}
If the service to be copied has custom policies, make sure that their respective custom policy definitions already exist in the destination where the service is to be copied. To learn more about copying custom policy definitions check out the Section 2.14, “Copying a policy registry (custom policies)”
2.5. Copying service settings only Copia collegamentoCollegamento copiato negli appunti!
Bulk copy (also known as updating) the service settings, proxy settings, metrics, methods, application plans, application plan limits and mapping rules from one service to another which already exists.
You will need the following information:
-
service id you want to copy:
{SERVICE_ID}
-
service id of the destination:
{DEST_ID}
-
3scale admin account:
{3SCALE_ADMIN}
-
domain your 3scale instance is running on:
{DOMAIN_NAME}
(if you are using hosted APICast this is 3scale.net) -
access key of your account:
{ACCESS_KEY}
-
access key of the destination account:
{DEST_KEY}
And can use the following optional flags:
-
-f
remove existing target service mapping rules before copying -
-r
copy only mapping rules to target service
The update command has been deprecated and replaced by the copy command.
- Red Hat discourages the use of deprecated features.
3scale update [opts] service --source=https://{ACCESS_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} --destination=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} {SERVICE_ID} {DEST_ID}
$ 3scale update [opts] service --source=https://{ACCESS_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} --destination=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME} {SERVICE_ID} {DEST_ID}
2.6. Importing OpenAPI definitions Copia collegamentoCollegamento copiato negli appunti!
To create a new service or to update an existing service, use the definitions from a local file or access credentials. If that service name already exists, it will be updated. Conversely, if the service name does not exist, it will be created.
The default service name for the import is taken from info.title
in the OpenAPI definition. You can override this service name using --target_system_name=<NEW NAME>
. If that service name already exists, it will be updated. Conversely, if the service name does not exist, it will be created.
The following rules apply to every import:
- Definitions are validated as OpenAPI 2.0.
- All mapping rules in the 3scale service are deleted.
-
In order to be replaced, all method names must be identical to methods defined in the OpenAPI definition (
operation.operationId
) by using exact pattern matching. - Only methods included in the OpenAPI definition are modified.
-
All methods that were present only in the OpenAPI definition are attached to the
Hits
metric. All mapping rules from the OpenAPI definition are imported.
- View these in API > Integration.
While there is no security requirement in swagger specifications, the service is considered as an OpenAPI. Toolbox will add a default_credentials
policy, which is also known as an anonymous_policy
, if it is not already in the policy chain. The default_credentials
policy will be configured with the userkey provided in optional parameter --default-credentials-userkey
.
3scale import openapi [opts] --destination=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME}
$ 3scale import openapi [opts] --destination=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME}
2.6.1. Optional flags Copia collegamentoCollegamento copiato negli appunti!
-d --destination=<value>
-
3scale target instance. Format:
http[s]://<authentication>@3scale_domain
-t --target_system_name=<value>
- Target system name
2.7. Managing remote access credentials Copia collegamentoCollegamento copiato negli appunti!
To facilitate work with remote 3scale instances, define in a config file the remote web addresses (URLs) with authentication that you will use for accessing those instances. Refer to them by a short name in any 3scale toolbox command.
The default location for the config file is $HOME/.3scalerc.yaml
but you can specify another location using the THREESCALE_CLI_CONFIG
environment variable or the --config-file <config_file>
option.
You can specify remotes using either an access_token
or a provider_key
:
-
http[s]://<access_token>@<3scale-instance-domain>
-
http[s]://<provider_key>@<3scale-instance-domain>
2.7.1. Listing remote access credentials Copia collegamentoCollegamento copiato negli appunti!
3scale remote list [--config-file <config_file>]
3scale remote list [--config-file <config_file>]
Shows the list of existing remotes (name, URL and authentication key).
Example
3scale remote list
$ 3scale remote list
instance_a https://example_a.net 123456789
instance_b https://example_b.net 987654321
2.7.2. Adding remote access credentials Copia collegamentoCollegamento copiato negli appunti!
3scale remote add [--config-file <config_file>] <name> <url>
3scale remote add [--config-file <config_file>] <name> <url>
Adds a remote with short name <name>
at <url>
.
Example
3scale remote add instance_a https://123456789@example_a.net
3scale remote add instance_a https://123456789@example_a.net
2.7.3. Removing remote access credentials Copia collegamentoCollegamento copiato negli appunti!
3scale remote remove [--config-file <config_file>] <name>
3scale remote remove [--config-file <config_file>] <name>
Removes the remote woth short name <name>
.
Example
3scale remote remove instance_a
3scale remote remove instance_a
2.7.4. Renaming remote access credentials Copia collegamentoCollegamento copiato negli appunti!
3scale remote rename [--config-file <config_file>] <old_name> <new_name>
3scale remote rename [--config-file <config_file>] <old_name> <new_name>
Renames remote with short name <old_name>
to <new_name>
.
Example
3scale remote rename instance_a instance_b
3scale remote rename instance_a instance_b
2.8. Application plans Copia collegamentoCollegamento copiato negli appunti!
Use the 3scale toolbox to create, update, list, delete, show, or export/import application plans in your Developer Portal.
2.8.1. Creating a new application plan Copia collegamentoCollegamento copiato negli appunti!
Use the following steps to create a new application plan:
- You have to provide the application plan name.
-
To override the
system-name
, use the optional parameter. - If an application plan with the same name already exists, you will see an error message.
-
Set as
default
the application plan by using the--default
flag. Create a
published
application plan by using the--publish
flag.-
By default, it will be
hidden
.
-
By default, it will be
Create a
disabled
application plan by using the--disabled
flag.-
By default, it will be
enabled
.
-
By default, it will be
The
service
positional argument is a service reference and can be either serviceid
or servicesystem_name
.- The toolbox uses either one.
The following example creates a new application plan:
Example
3scale application-plan create [opts] <remote> <service> <plan-name>
3scale application-plan create [opts] <remote> <service> <plan-name>
Use the following options while creating application plans:
2.8.2. Creating or updating application plans Copia collegamentoCollegamento copiato negli appunti!
Use the following steps to create a new application plan if it does not exist, or to update an existing one:
-
Update the
default
application plan by using the--default
flag. -
Update the
published
application plan by using the--publish
flag. -
Update the
hidden
application plan by using the--hide
flag. -
Update the
disabled
application plan by using the--disabled
flag. -
Update the
enabled
application plan by using the--enabled
flag.
The
service
positional argument is a service reference and can be either serviceid
or servicesystem_name
.- The toolbox uses either one.
The
plan
positional argument is a plan reference and can be either planid
or plansystem_name
.- The toolbox uses either one.
The following example updates the application plan:
Example
3scale application-plan apply [opts] <remote> <service> <plan>
3scale application-plan apply [opts] <remote> <service> <plan>
Use the following options while updating application plans:
2.8.3. Listing application plans Copia collegamentoCollegamento copiato negli appunti!
The following example lists the application plan:
Example
3scale application-plan list [opts] <remote> <service>
3scale application-plan list [opts] <remote> <service>
Use the following options while listing application plans:
2.8.4. Showing application plans Copia collegamentoCollegamento copiato negli appunti!
The following example shows the application plan:
Example
3scale application-plan show [opts] <remote> <service> <plan>
3scale application-plan show [opts] <remote> <service> <plan>
Use the following options while showing application plans:
2.8.5. Deleting application plans Copia collegamentoCollegamento copiato negli appunti!
The following example deletes the application plan:
Example
3scale application-plan delete [opts] <remote> <service> <plan>
3scale application-plan delete [opts] <remote> <service> <plan>
Use the following options while deleting application plans:
2.8.6. Export/import application plans Copia collegamentoCollegamento copiato negli appunti!
You can export or import a single application plan to or from yaml
content.
Note the following: * Limits defined in the application plan are included. * Pricing rules defined in the application plan are included. * Metrics/methods referenced by limits and pricing rules are included. * Features defined in the application plan are included. * Service can be referenced by id
or system_name
. * Application Plan can be referenced by id
or system_name
.
2.8.6.1. Exporting an application plan to a file Copia collegamentoCollegamento copiato negli appunti!
The following example exports the application plan:
3scale application-plan export [opts] <remote> <service_system_name> <plan_system_name>
3scale application-plan export [opts] <remote> <service_system_name> <plan_system_name>
Example
3scale application-plan export -f plan.yaml remote_name service_name plan_name
3scale application-plan export -f plan.yaml remote_name service_name plan_name
Specific to the export
command:
- Read only operation on remote service and application plan.
Command output can be
stdout
or file.-
If not specified by
-f
option, by default,yaml
content will be written onstdout
.
-
If not specified by
Use the following options while exporting application plans:
2.8.6.2. Importing an application plan from a file Copia collegamentoCollegamento copiato negli appunti!
The following example imports the application plan:
3scale application-plan import [opts] <remote> <service_system_name>
3scale application-plan import [opts] <remote> <service_system_name>
Example
3scale application-plan import -f plan.yaml remote_name service_name
3scale application-plan import -f plan.yaml remote_name service_name
2.8.6.3. Importing an application plan from URL Copia collegamentoCollegamento copiato negli appunti!
3scale application-plan import -f http[s]://domain/resource/path.yaml remote_name service_name
3scale application-plan import -f http[s]://domain/resource/path.yaml remote_name service_name
Specific to import command:
Command input content can be
stdin
, file or URL format.-
If not specified by
-f
option, by default,yaml
content will be read fromstdin
.
-
If not specified by
- If application plan cannot be found in remote service, it will be created.
Optional param
-p
,--plan
to override remote target application planid
orsystem_name
.-
If not specified by
-p
option, by default, application plan will be referenced by plan attributesystem_name
fromyaml
content.
-
If not specified by
- Any metric or method from yaml content that cannot be found in remote service, will be created.
Use the following options while importing application plans:
2.9. Metrics Copia collegamentoCollegamento copiato negli appunti!
Use the 3scale toolbox to create, update, list, and delete metrics in your Developer Portal.
2.9.1. Creating metrics Copia collegamentoCollegamento copiato negli appunti!
Use the following steps for creating metrics:
- You have to provide the metric name.
-
To override the
system-name
, use the optional parameter. - If metrics with the same name already exist, you will see an error message.
Create a
disabled
metric by using the--disabled
flag.-
By default, it will be
enabled
.
-
By default, it will be
The
service
positional argument is a service reference and can be either serviceid
or servicesystem_name
.- The toolbox uses either one.
The following example creates metrics:
Example
3scale metric create [opts] <remote> <service> <metric-name>
3scale metric create [opts] <remote> <service> <metric-name>
Use the following options while creating metrics:
2.9.2. Creating or updating metrics Copia collegamentoCollegamento copiato negli appunti!
Use the following steps to create new metrics if they do not exist, or to update an existing one:
- If metrics with the same name already exist, you will see an error message.
-
Update a
disabled
metric by using the--disabled
flag. -
Update to
enabled
metric by using the--enabled
flag.
The
service
positional argument is a service reference and can be either serviceid
or servicesystem_name
.- The toolbox uses either one.
The
metric
positional argument is a metric reference and can be either metricid
or metricsystem_name
.- The toolbox uses either one.
The following example updates metrics:
Example
3scale metric apply [opts] <remote> <service> <metric>
3scale metric apply [opts] <remote> <service> <metric>
Use the following options while updating metrics:
2.9.3. Listing metrics Copia collegamentoCollegamento copiato negli appunti!
The following example lists metrics:
Example
3scale metric list [opts] <remote> <service>
3scale metric list [opts] <remote> <service>
Use the following options while listing metrics:
2.9.4. Deleting metrics Copia collegamentoCollegamento copiato negli appunti!
The following example deletes metrics:
Example
3scale metric delete [opts] <remote> <service> <metric>
3scale metric delete [opts] <remote> <service> <metric>
Use the following options while deleting metrics:
2.10. Methods Copia collegamentoCollegamento copiato negli appunti!
Use the 3scale toolbox to create, apply, list, and delete methods in your Developer Portal.
2.10.1. Creating methods Copia collegamentoCollegamento copiato negli appunti!
- You have to provide the method name.
-
To override the
system-name
, use the optional parameter. - If a method with the same name already exists, you will see an error message.
Create a
disabled
method by--disabled
flag.-
By default, it will be
enabled
.
-
By default, it will be
The
service
positional argument is a service reference and can be either serviceid
or servicesystem_name
.- The toolbox uses either one.
The following example creates a method:
Example
3scale method create [opts] <remote> <service> <method-name>
3scale method create [opts] <remote> <service> <method-name>
Use the following options while creating methods:
2.10.2. Creating or updating methods Copia collegamentoCollegamento copiato negli appunti!
Use the following steps for creating new methods if they do not exist, or to update an existing ones:
- If a method with the same name already exists, command will fail.
-
Update to
disabled
method by using--disabled flag
. -
Update to
enabled
method by using--enabled flag
.
The
service
positional argument is a service reference and can be either serviceid
or servicesystem_name
.- The toolbox uses either one.
The
method
positional argument is a method reference and can be either methodid
or methodsystem_name
.- The toolbox uses either one.
The following example updates a method:
Example
3scale method apply [opts] <remote> <service> <method>
3scale method apply [opts] <remote> <service> <method>
Use the following options while updating methods:
2.10.3. Listing methods Copia collegamentoCollegamento copiato negli appunti!
The following example lists methods:
Example
3scale method list [opts] <remote> <service>
3scale method list [opts] <remote> <service>
Use the following options while listing methods:
2.10.4. Deleting methods Copia collegamentoCollegamento copiato negli appunti!
The following example deletes methods:
Example
3scale method delete [opts] <remote> <service> <metric>
3scale method delete [opts] <remote> <service> <metric>
Use the following options while deleting methods:
2.11. Creating services Copia collegamentoCollegamento copiato negli appunti!
Use the 3scale toolbox to create, apply, list, show, or delete services in your Developer Portal.
2.11.1. Creating a new service Copia collegamentoCollegamento copiato negli appunti!
The following example creates a new service:
Example
3scale service create [options] <remote> <service-name>
3scale service create [options] <remote> <service-name>
Use the following options while creating services:
2.11.2. Creating or updating services Copia collegamentoCollegamento copiato negli appunti!
Use the following to create new services if they do not exist, or to update an existing one:
service-id_or_system-name
positional argument is a service reference.-
It can be either service
id
, or servicesystem_name
. - Toolbox will automatically figure this out.
-
It can be either service
-
This command is
idempotent
.
The following example updates services:
Example
3scale service apply <remote> <service-id_or_system-name>
3scale service apply <remote> <service-id_or_system-name>
Use the following options while updating services:
2.11.3. Listing services Copia collegamentoCollegamento copiato negli appunti!
The following example lists services:
Example
3scale service list <remote>
3scale service list <remote>
Use the following options while listing services:
2.11.4. Showing services Copia collegamentoCollegamento copiato negli appunti!
The following example shows services:
Example
3scale service show <remote> <service-id_or_system-name>
3scale service show <remote> <service-id_or_system-name>
Use the following options while showing services:
2.11.5. Deleting services Copia collegamentoCollegamento copiato negli appunti!
The following example deletes services:
Example
3scale service delete <remote> <service-id_or_system-name>
3scale service delete <remote> <service-id_or_system-name>
Use the following options while deleting services:
2.12. ActiveDocs Copia collegamentoCollegamento copiato negli appunti!
Use the 3scale toolbox to create, update, list, or delete ActiveDocs in your Developer Portal.
2.12.1. Creating new ActiveDocs Copia collegamentoCollegamento copiato negli appunti!
To create a new ActiveDocs from your OpenAPI / Swagger compliant API defintion:
Add your API defintion to 3scale, optionally giving it a name:
Example
3scale activedocs create <remote> <activedocs-name> <spec>
3scale activedocs create <remote> <activedocs-name> <spec>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Use the following options while creating ActiveDocs:
- Publish the definition in your Developer Portal.
2.12.2. Creating or updating ActiveDocs Copia collegamentoCollegamento copiato negli appunti!
Use the following to create new ActiveDoc if they do not exist, or to update existing ActiveDocs with a new API definition:
Example
3scale activedocs apply <remote> <activedocs_id_or_system_name>
3scale activedocs apply <remote> <activedocs_id_or_system_name>
Use the following options while updating ActiveDocs:
2.12.3. Listing ActiveDocs Copia collegamentoCollegamento copiato negli appunti!
To get information about all ActiveDocs in the developer portal, including
- id
- name
- system name
- description
- published (which means it can be shown in the developer portal)
- creation date
- latest updated date
The following example lists all defined ActiveDocs:
Example
3scale activedocs list <remote>
3scale activedocs list <remote>
Use the following options while listing ActiveDocs:
2.12.4. Deleting ActiveDocs Copia collegamentoCollegamento copiato negli appunti!
The following example removes ActiveDocs:
Example
3scale activedocs delete <remote> <activedocs-id_or-system-name>
3scale activedocs delete <remote> <activedocs-id_or-system-name>
Use the following options while deleting ActiveDocs:
2.13. Proxy configurations Copia collegamentoCollegamento copiato negli appunti!
Use the 3scale toolbox to list, show, promote all defined proxy configurations in your Developer Portal.
2.13.1. Listing proxy configuration Copia collegamentoCollegamento copiato negli appunti!
The following example lists proxy configurations:
Example
3scale proxy-config list <remote> <service> <environment>
3scale proxy-config list <remote> <service> <environment>
Use the following options while listing proxy configurations:
2.13.2. Showing proxy configurations Copia collegamentoCollegamento copiato negli appunti!
The following example shows proxy configurations:
Example
3scale proxy-config show <remote> <service> <environment>
3scale proxy-config show <remote> <service> <environment>
Use the following options while showing proxy configurations:
2.13.3. Promoting proxy configurations Copia collegamentoCollegamento copiato negli appunti!
The following example promotes the latest staging proxy configuration to the production environment:
Example
3scale proxy-config promote <remote> <service>
3scale proxy-config promote <remote> <service>
Use the following options while promoting the latest staging proxy configurations to the production environment:
2.14. Copying a policy registry (custom policies) Copia collegamentoCollegamento copiato negli appunti!
Use the toolbox command to copy a policy registry from a 3scale source account to a target account when:
- missing custom policies are being created in target account.
- matching custom policies are being updated in target account.
- this copy command is idempotent.
- Missing custom policies are defined as custom policies that exist in source account and do not exist in an account tenant.
- Matching custom policies are defined as custom policies that exists in both source and target account.
The following example copies a policy registry:
Example
3scale policy-registry copy [opts] <source_remote> <target_remote>
3scale policy-registry copy [opts] <source_remote> <target_remote>
2.15. Applications Copia collegamentoCollegamento copiato negli appunti!
Use the 3scale toolbox to list, create, show, apply, or delete applications Developer Portal.
2.15.1. Listing applications Copia collegamentoCollegamento copiato negli appunti!
The following example lists applications:
Example
3scale application list [opts] <remote>
3scale application list [opts] <remote>
Use the following options while listing applications:
OPTIONS --account=<value> Filter by account --plan=<value> Filter by application plan. Service option required. --service=<value> Filter by service
OPTIONS
--account=<value> Filter by account
--plan=<value> Filter by application plan.
Service option required.
--service=<value> Filter by service
2.15.2. Creating applications Copia collegamentoCollegamento copiato negli appunti!
Use the create command to create one application linked to a given 3scale account and application plan.
The required positional paramaters are as follows:
-
<service>
reference. It can be either serviceid
, or servicesystem_name
. <account>
reference. It can be one of the following:-
Account
id
-
username
,email
, oruser_id
of the admin user of the account -
provider_key
-
Account
-
<application plan>
reference. It can be either planid
, or plansystem_name
. -
<name>
application name.
The following example creates applications:
Example
3scale application create [opts] <remote> <account> <service> <application-plan> <name>
3scale application create [opts] <remote> <account> <service> <application-plan> <name>
Use the following options while creating applications:
2.15.3. Showing applications Copia collegamentoCollegamento copiato negli appunti!
The following example shows applications:
Example
3scale application show [opts] <remote> <application>
3scale application show [opts] <remote> <application>
Application parameters allow:
-
User_key
- API key -
App_id
- from app_id/app_key pair or Client ID for OAuth and OpenID Connect (OIDC) authentication modes -
Application internal
id
2.15.4. Creating or updating applications Copia collegamentoCollegamento copiato negli appunti!
Use the following to create new applications if they do not exist, or to update existing applications:
Example
3scale application apply [opts] <remote> <application>
3scale application apply [opts] <remote> <application>
Application parameters allow:
-
User_key
- API key -
App_id
- from app_id/app_key pair or Client ID for OAuth and OIDC authentication modes -
Application internal
id
account
optional argument is required when application is not found and needs to be created. It can be one of the following:-
Account
id
-
username
,email
, oruser_id
of the administrator user of the 3scale account -
provider_key
-
Account
-
name
cannot be used as unique identifier because application name is not unique in 3scale. -
Resume a suspended application by
--resume
flag. -
Suspends an application - changes the state to suspended by the
--suspend
flag.
Use the following options while updating applications:
2.15.5. Deleting applications Copia collegamentoCollegamento copiato negli appunti!
The following example deletes an application:
Example
3scale application delete [opts] <remote> <application>
3scale application delete [opts] <remote> <application>
Application parameters allow:
-
User_key
- API key -
App_id
- from app_id/app_key pair or Client ID for OAuth and OIDC authentication modes -
Application internal
id
2.16. Troubleshooting SSL issues Copia collegamentoCollegamento copiato negli appunti!
There is more information on certificates in the Red Hat documentation, but if you are getting issues related to self-signed SSL certificates, SSL certificate problem: self signed certificate
for example , you can download and use the remote certificate:
Download the remote certificate using
openssl
echo | openssl s_client -showcerts -servername self-signed.badssl.com -connect self-signed.badssl.com:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > self-signed-cert.pem
$ echo | openssl s_client -showcerts -servername self-signed.badssl.com -connect self-signed.badssl.com:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > self-signed-cert.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Make sure it works by using it with
curl
SSL_CERT_FILE=self-signed-cert.pem curl -v https://self-signed.badssl.com
$ SSL_CERT_FILE=self-signed-cert.pem curl -v https://self-signed.badssl.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If the certificate is working properly, you will not get the SSL error.
Prefix your
3scale
commands withSSL_CERT_FILE=self-signed-cert.pem
:SSL_CERT_FILE=self-signed-cert.pem 3scale import csv
$ SSL_CERT_FILE=self-signed-cert.pem 3scale import csv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow