SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
MICHIGAN ORACLE USERS SUMMIT 2020
MONDAY OCTOBER 26 – THURSDAY OCTOBER 29, 2020
VIRTUAL EVENT
AUTOMATING CLOUD OPERATIONS
EVERYTHING YOU WANTED TO KNOW ABOUT CURL AND REST APIS
PRESENTER NAME: AHMED ABOULNAGA
COMPANY:
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 4 of 56
@Revelation_Tech
Table of Contents
Introduction 3
REST and Cloud 6
Introduction to REST 9
Introduction to cURL 23
Creating an Oracle Autonomous Database 30
Figuring Out Authentication and Headers 41
Demo 56
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 5 of 56
@Revelation_Tech
INTRODUCTION
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 6 of 56
@Revelation_Tech
About Me
Ahmed Aboulnaga
• Master’s degree in Computer Science from George Mason University
• Recent emphasis on cloud, DevOps, middleware, security in current projects
• Oracle ACE Pro, OCE, OCA
• Author, Blogger, Presenter
• @Ahmed_Aboulnaga
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 7 of 56
@Revelation_Tech
REST AND CLOUD
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 8 of 56
@Revelation_Tech
Cloud APIs
• All cloud vendors provide some type of API to their services.
• This allows for programmatic access to cloud services.
• A basic understanding of cURL, REST, and JSON is helpful.
• Most cloud providers use the REST architectural style for their APIs.
Client REST API Cloud Service
JSON / XML
GET / POST / PUT / DELETE
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 9 of 56
@Revelation_Tech
Goal of this Presentation
• Better understanding REST and JSON.
• Understand and interpret REST API documentation.
• Familiarization with authorization when calling REST APIs.
• Become capable of automating your cloud operations through REST APIs.
Target
Audience
https://globalacademy-eg.com/training-courses/oracle-dba.htm
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 10 of 56
@Revelation_Tech
MY STORY
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 11 of 56
@Revelation_Tech
My Use Case
What I was trying to do?
• Create an Identity Domain in
Oracle Access Manager.
• OAM 12.2.1.3 had a web-
based console for all OAuth
configuration.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 12 of 56
@Revelation_Tech
My Use Case
What was my challenge?
• OAM 12.2.1.4 provided
no web-based interface
and only supported a
REST API.
https://docs.oracle.com/en/middleware/idm/access-manager/12.2.1.3/oroau/op-oam-services-rest-ssa-api-v1-oauthpolicyadmin-oauthidentitydomain-post.html
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 13 of 56
@Revelation_Tech
Start with the Documentation
Was the documentation helpful?
• Not all REST API
documentation is created
equally.
• Fortunately, the OAM REST
API documentation provided
an example request and
example response.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 14 of 56
@Revelation_Tech
Preparing to Login
What did I do first?
• Passwords can be passed as a
“username:password”
combination or encoded.
• Encoding converts literal text to
a humanly unreadable format.
• Used online to encode
“weblogic:welcome1”.
Authentication Options:
curl -u 'weblogic':'welcome1'
curl -H 'Authorization:Basic d2VibG9naWM6d2VsY29tZTE='
https://www.base64encode.org
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 15 of 56
@Revelation_Tech
Did it work?
• Initial invocation failed command:
curl -H 'Content-Type: application/x-www-form-urlencoded'
-H 'Authorization:Basic d1VibG9naWM6d2VsY29tZTE='
--request POST
http://soadev.revtech.com:7701/oam/services/rest/ssa/api
/v1/oauthpolicyadmin/oauthidentitydomain
-d '
{
"name" : "AhmedWebGateDomain",
"identityProvider" : "AhmedOUDStore",
"description" : "Ahmed OIDC Domain"
}
'
• Output:
Mandatory param not found. Entity - IdentityDomain,
paramName - name
• The documentation states that only “name” is mandatory.
So what’s the problem?
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 16 of 56
@Revelation_Tech
What was the successful outcome?
• Final successful command:
curl -H 'Content-Type: application/x-www-form-urlencoded' -H 'Authorization:Basic
d1VibG9naWM6d2VsY29tZTE='
'http://soadev.revtech.com:7701/oam/services/rest/ssa/api/v1/oauthpolicyadmin/oauthidentit
ydomain' -d '{"name":"AhmedWebGateDomain", "identityProvider":"AhmedOUDStore",
"description":"Ahmed OIDC WebGate Domain",
"tokenSettings":[{"tokenType":"ACCESS_TOKEN","tokenExpiry":3600,"lifeCycleEnabled":false,"
refreshTokenEnabled":false,"refreshTokenExpiry":86400,"refreshTokenLifeCycleEnabled":false
},
{"tokenType":"AUTHZ_CODE","tokenExpiry":3600,"lifeCycleEnabled":false,"refreshTokenEnabled
":false,"refreshTokenExpiry":86400,"refreshTokenLifeCycleEnabled":false},
{"tokenType":"SSO_LINK_TOKEN","tokenExpiry":3600,"lifeCycleEnabled":false,"refreshTokenEna
bled":false,"refreshTokenExpiry":86400,"refreshTokenLifeCycleEnabled":false}],
"errorPageURL":"/oam/pages/servererror.jsp", "consentPageURL":"/oam/pages/consent.jsp"}’
• Impossible to determine accurate command without support, examples, or thorough
documentation.
• Required Oracle Support assistance to get these details.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 17 of 56
@Revelation_Tech
INTRODUCTION TO REST
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 18 of 56
@Revelation_Tech
What is REST?
• REpresentational State Transfer.
• Architectural style for distributed hypermedia system.
• Proposed in 2000 by Roy Fielding in his dissertation.
• Web Service implemented with REST is called RESTful web service.
• REST is not a protocol like SOAP
. It is rather an architectural style.
• REST services typically use HTTP/HTTPS, but can be implemented with other
protocols like FTP
.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 19 of 56
@Revelation_Tech
REST Architectural Considerations
Uniform interface: Easy to understand and readable results and
can be consumed by any client or programming language over
basic protocols.
URI-based access: Using the same approach to a human
browsing a website where all resource are linked together.
Stateless communication: Extremely scalable since no client
context is stored on the server between requests.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 20 of 56
@Revelation_Tech
REST Methods
• The HTTP protocol provides multiple methods which you can utilize for RESTful web services.
• The table maps the HTTP method to the typical REST operation.
• Some firewalls may limit some HTTP methods for security reasons.
HTTP Method REST Operation
GET Read
POST Create
PUT Update
DELETE Delete
OPTIONS List of available methods
HEAD Get version
PATCH Update property/attribute
Most common
in web
applications
Most common in
REST to provide
CRUD
functionality
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 21 of 56
@Revelation_Tech
Resources
• Requests are sent to resources (i.e., URLs).
• Each resource represents an object which identified by a noun (e.g., employee, phone,
address, etc.).
• Each resource has a unique URL.
• Typically when performing a POST (create) or PUT (update), you must pass additional values.
Resource HTTP Method REST Output
https://hostname/hr/employee GET Retrieve a list of all employees
https://hostname/hr/employee/12 GET Retrieve details for employee #12
https://hostname/hr/employee POST Create a new employee
https://hostname/hr/employee/12 PUT Update employee #12
https://hostname/hr/employee/12 DELETE Delete employee #12
https://hostname/hr/employee/12/address GET Retrieve address for employee #12
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 22 of 56
@Revelation_Tech
HTTP Response Codes
• HTTP response codes determine the overall response of the REST invocation.
HTTP Code Status Description
2XX (200, 201, 204) OK Data was received and operation was performed
3XX (301, 302) Redirect Request redirected to another URL
4XX (403, 404) Client Error Resource not available to client
5XX (500) Server Error Server error
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 23 of 56
@Revelation_Tech
JSON
• JavaScript Object Notation.
• Pronounced “Jason”.
• An object surrounded by { }.
• An array or ordered list.
• REST can support both
JSON and XML.
• Less verbose than XML, but
lacks metadata support.
//JSON Object
{
"employee": {
"id": 12,
"name": "Kobe",
"location": "USA"
}
}
//JSON Array
{
"employees": [
{
"id": 12,
"name": "Kobe",
"location": "USA"
},
{
"id": 13,
"name": "Jordan",
"location": "Canada"
},
{
"id": 14,
"name": "Barkley",
"location": "USA"
}
]
}
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 24 of 56
@Revelation_Tech
INTRODUCTION TO CURL
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 25 of 56
@Revelation_Tech
What is cURL?
• Open-source command-line tool.
• Supports more than 22 different
protocols (e.g., HTTP
, HTTPS, FTP
, etc.).
• For HTTP
, supports all methods (e.g.,
GET, POST, PUT, DELETE, etc.).
• Very useful for testing RESTful web
services.
• Other advanced tools available include
Postman, SoapUI, Oracle SQL Developer,
etc.
• Example service:
https://api.weather.gov/alerts/active?area=MI
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 26 of 56
@Revelation_Tech
Viewing Header Attributes
• Fetch the HTTP header attributes only using the –i or -I option:
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 27 of 56
@Revelation_Tech
Authentication Options
• Many authentication options are supported; access token, bearer token, OAuth,
basic auth, username/password, client certificate, etc.
Authentication Examples:
curl -H 'token:T3jaD5aDHJLr3idjCma894DAWzk49opp'
curl -u 'weblogic':'welcome1'
curl -H 'Authorization:Basic d2VibG9naWM6d2VsY29tZTE='
Token-based Authentication:
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 28 of 56
@Revelation_Tech
Postman
• Popular API client.
• Free version available.
• www.postman.com
• Numerous features that
include:
- Create API
documentation
- Automated testing
- Design and mock APIs
- Monitor APIs
- Etc.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 29 of 56
@Revelation_Tech
Benefits of cURL
• Free.
• Command-line based tool.
• Useful for non-interactive scripts.
• Can pass HTTP headers, cookies, and authentication information.
• Support for SSL, proxy, numerous protocols (e.g., LDAP
, SMB, SCP
, IMAP
, FILE,
TELNET, etc.), etc.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 30 of 56
@Revelation_Tech
Recap
• Recap of previous cURL request:
curl -H 'Content-Type: application/x-www-form-urlencoded'
-H 'Authorization:Basic d1VibG9naWM6d2VsY29tZTE='
-X POST
http://revtech.com:7701/oam/services/rest/ssa/api/v1/oauthpolicyadmin/oauthidentitydomain
-d '
{
"name" : "AhmedWebGateDomain",
"identityProvider" : "AhmedOUDStore",
"description" : "Ahmed OIDC Domain"
}
'
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 31 of 56
@Revelation_Tech
CREATING AN AUTONOMOUS DATABASE
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 32 of 56
@Revelation_Tech
Manually Create an Autonomous Database (1 of 4)
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 33 of 56
@Revelation_Tech
Manually Create an Autonomous Database (2 of 4)
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 34 of 56
@Revelation_Tech
Manually Create an Autonomous Database (3 of 4)
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 35 of 56
@Revelation_Tech
Manually Create an Autonomous Database (4 of 4)
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 36 of 56
@Revelation_Tech
Navigate to Documentation
• CreateAutonomousDatabase Reference
https://docs.cloud.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/CreateAutonomousDatabase
Note:
• API reference
• CreateAutonomous
Database operation
• REST API endpoint
• API version
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 37 of 56
@Revelation_Tech
View Resource Details and Example
• The resource details provides a list of all required parameters, often beyond what is
demonstrated in the example.
• Use the example as a starting point.
{
"compartmentId" : "ocid1.tenancy.oc1..d6cpxn…dbx",
"displayName" : "MOUS DB 2020 Auto",
"dbName" : "MOUSDBAUTO",
"adminPassword" : "Kobe_24_24_24",
"cpuCoreCount" : 1,
"dataStorageSizeInTBs" : 1
}
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 38 of 56
@Revelation_Tech
First Attempt… Failed!
• Unable to authenticate upon first try despite all parameters/settings correct per
the documentation…
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 39 of 56
@Revelation_Tech
Execute Command
• Eventually got it working…
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 40 of 56
@Revelation_Tech
Provisioning…
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 41 of 56
@Revelation_Tech
Available!
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 42 of 56
@Revelation_Tech
FIGURING OUT AUTHENTICATION &HEADERS
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 43 of 56
@Revelation_Tech
Discovery is Painful
API References and
Endpoints
https://docs.cloud.oracle.com/en-
us/iaas/api/#/en/database/20160918/
Oracle Cloud Infrastructure
Documentation
https://docs.cloud.oracle.com/en-
us/iaas/Content/API/Concepts/apisigningkey.htm#How
Managing Autonomous
Data Warehouse Using oci-
curl
https://blogs.oracle.com/datawarehousing/managing-
autonomous-data-warehouse-using-oci-curl
Oracle Cloud Infrastructure
(OCI) REST call
walkthrough with curl
https://www.ateam-oracle.com/oracle-cloud-
infrastructure-oci-rest-call-walkthrough-with-curl
But why didn’t
the docs point
me to this?
Found this on my
own, has some
helpful info… I don’t want
to use “oci-
curl”!
This is
complicated!
Thank God they
have a script!
Blog?
Another
blog?
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 44 of 56
@Revelation_Tech
Piecing It Together
If you want to use cURL to invoke OCI REST APIs…
1. Get information from the OCI Console
a. Get the Tenancy ID
b. Get the User ID
2. Generate and configure an API Signing Key
a. Create public/private key pair
b. Get the fingerprint of the key
c. Get the public key from the private key in PEM format
d. Add the API Key to the OCI user (by uploading the public key)
3. Prepare and execute script
a. Ensure private key is available
b. Create the JSON request
c. Update the custom script
d. Execute!
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 45 of 56
@Revelation_Tech
1a. Get the Tenancy ID
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 46 of 56
@Revelation_Tech
1b. Get the User ID
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 47 of 56
@Revelation_Tech
2a. Create public/private key pair
• Use ssh-keygen to create a public/private key pair.
• The public key will be added as an “API Key” to your OCI account.
• The private key will be used by your client (i.e., cURL).
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 48 of 56
@Revelation_Tech
2b. Get the fingerprint of the key
• Use openssl to view the X.509 MD5 PEM certificate fingerprint.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 49 of 56
@Revelation_Tech
2c. Get public key from the private key in PEM format
• OCI requires that the public key is imported in PEM format.
• Use openssl to get the public key in PEM format.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 50 of 56
@Revelation_Tech
2d. Add the API Key to the OCI user
• The public key is added to the OCI user’s API Key.
• Must be in PEM format.
• Can be uploaded or pasted.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 51 of 56
@Revelation_Tech
3a. Ensure private key is available
• The private key created earlier (and in PEM format) is used when invoking the
REST service.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 52 of 56
@Revelation_Tech
3b. Create the JSON request
• The payload is created in JSON format.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 53 of 56
@Revelation_Tech
3c. Update custom script
• The various elements (tenancy
id, user id, private key, key
fingerprint, etc.) are
parameterized.
• OCI’s REST API requires
additional calculated elements,
all taken care of here (oci-curl
takes care of all of this for you).
• The cURL command is eventually
called using a combination of
static and dynamic values.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 54 of 56
@Revelation_Tech
3d. Execute!
• The cURL command
is expanded.
• The cURL command
is executed.
• The HTTP status
code is observed to
obtain the result of
the invocation.
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 55 of 56
@Revelation_Tech
Provisioning…
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 56 of 56
@Revelation_Tech
Available!
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 57 of 56
@Revelation_Tech
DEMO
© Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 58 of 56
@Revelation_Tech

Contenu connexe

Tendances

Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...Revelation Technologies
 
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...Revelation Technologies
 
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...Revelation Technologies
 
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud InfrastructureRunning Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud InfrastructureOracle Developers
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Oracle Developers
 
Apex atp customer_presentation_wwc march 2019
Apex atp customer_presentation_wwc march 2019Apex atp customer_presentation_wwc march 2019
Apex atp customer_presentation_wwc march 2019Oracle Developers
 
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud ServiceOracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud ServiceJean-Philippe PINTE
 
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3Holger Mueller
 
PTK Issue 72: Delivering a Platform on Demand
PTK Issue 72: Delivering a Platform on DemandPTK Issue 72: Delivering a Platform on Demand
PTK Issue 72: Delivering a Platform on DemandRevelation Technologies
 
2012-08-21 NRO GED Industry Day
2012-08-21 NRO GED Industry Day2012-08-21 NRO GED Industry Day
2012-08-21 NRO GED Industry DayShawn Wells
 
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloudA1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloudDr. Wilfred Lin (Ph.D.)
 
Oracle Ravello Presentation 7Dec16 v1
Oracle Ravello Presentation 7Dec16 v1Oracle Ravello Presentation 7Dec16 v1
Oracle Ravello Presentation 7Dec16 v1Kurt Liu
 
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...Lucas Jellema
 
Cloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard UniversityCloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard UniversityBarton George
 
Oracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud ResourceOracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud ResourceTaewan Kim
 
MOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database DevelopmentMOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database DevelopmentMonica Li
 
Fn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal ArifFn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal ArifOracle Developers
 

Tendances (20)

Hands-On with Oracle SOA Cloud Service
Hands-On with Oracle SOA Cloud ServiceHands-On with Oracle SOA Cloud Service
Hands-On with Oracle SOA Cloud Service
 
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...
 
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
 
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...
 
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud InfrastructureRunning Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud Infrastructure
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
 
Apex atp customer_presentation_wwc march 2019
Apex atp customer_presentation_wwc march 2019Apex atp customer_presentation_wwc march 2019
Apex atp customer_presentation_wwc march 2019
 
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud ServiceOracle Cloud Storage Service & Oracle Database Backup Cloud Service
Oracle Cloud Storage Service & Oracle Database Backup Cloud Service
 
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
 
Rh summit2015 presentation_v2.5
Rh summit2015 presentation_v2.5Rh summit2015 presentation_v2.5
Rh summit2015 presentation_v2.5
 
PTK Issue 72: Delivering a Platform on Demand
PTK Issue 72: Delivering a Platform on DemandPTK Issue 72: Delivering a Platform on Demand
PTK Issue 72: Delivering a Platform on Demand
 
2012-08-21 NRO GED Industry Day
2012-08-21 NRO GED Industry Day2012-08-21 NRO GED Industry Day
2012-08-21 NRO GED Industry Day
 
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloudA1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
A1 keynote oracle_infrastructure_as_a_service_move_any_workload_to_the_cloud
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
 
Oracle Ravello Presentation 7Dec16 v1
Oracle Ravello Presentation 7Dec16 v1Oracle Ravello Presentation 7Dec16 v1
Oracle Ravello Presentation 7Dec16 v1
 
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
Systems on the Edge—Your Stepping Stones into Oracle Public Cloud and the Paa...
 
Cloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard UniversityCloud Presentation and OpenStack case studies -- Harvard University
Cloud Presentation and OpenStack case studies -- Harvard University
 
Oracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud ResourceOracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud Resource
 
MOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database DevelopmentMOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database Development
 
Fn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal ArifFn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal Arif
 

Similaire à Automating Cloud Operations - Everything you wanted to know about cURL and REST APIs

Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudRevelation Technologies
 
Automating Cloud Operations: Everything You Wanted to Know about cURL and REST
Automating Cloud Operations: Everything You Wanted to Know about cURL and RESTAutomating Cloud Operations: Everything You Wanted to Know about cURL and REST
Automating Cloud Operations: Everything You Wanted to Know about cURL and RESTRevelation Technologies
 
ECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp TerraformECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp TerraformBobby Curtis
 
Terraform & Oracle Cloud Infrastructure
Terraform & Oracle Cloud InfrastructureTerraform & Oracle Cloud Infrastructure
Terraform & Oracle Cloud InfrastructureBobby Curtis
 
RefCard RESTful API Design
RefCard RESTful API DesignRefCard RESTful API Design
RefCard RESTful API DesignOCTO Technology
 
Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019Matt Raible
 
How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?Graham Charters
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesArun Gupta
 
RESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous DatabaseRESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous DatabaseJeff Smith
 
Oracle GoldenGate 18c - REST API Examples
Oracle GoldenGate 18c - REST API ExamplesOracle GoldenGate 18c - REST API Examples
Oracle GoldenGate 18c - REST API ExamplesBobby Curtis
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMiguel Araújo
 
how to use openstack api
how to use openstack apihow to use openstack api
how to use openstack apiLiang Bo
 
Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)Logico
 
Interoperability and APIs in OpenStack
Interoperability and APIs in OpenStackInteroperability and APIs in OpenStack
Interoperability and APIs in OpenStackpiyush_harsh
 
How APIs Can Be Secured in Mobile Environments
How APIs Can Be Secured in Mobile EnvironmentsHow APIs Can Be Secured in Mobile Environments
How APIs Can Be Secured in Mobile EnvironmentsWSO2
 
112815 java ee8_davidd
112815 java ee8_davidd112815 java ee8_davidd
112815 java ee8_daviddTakashi Ito
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta jaxconf
 

Similaire à Automating Cloud Operations - Everything you wanted to know about cURL and REST APIs (20)

Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
 
Automating Cloud Operations: Everything You Wanted to Know about cURL and REST
Automating Cloud Operations: Everything You Wanted to Know about cURL and RESTAutomating Cloud Operations: Everything You Wanted to Know about cURL and REST
Automating Cloud Operations: Everything You Wanted to Know about cURL and REST
 
ECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp TerraformECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp Terraform
 
Terraform & Oracle Cloud Infrastructure
Terraform & Oracle Cloud InfrastructureTerraform & Oracle Cloud Infrastructure
Terraform & Oracle Cloud Infrastructure
 
RefCard RESTful API Design
RefCard RESTful API DesignRefCard RESTful API Design
RefCard RESTful API Design
 
Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019
 
How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
 
RESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous DatabaseRESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous Database
 
MesosCon - Be a microservices hero
MesosCon - Be a microservices heroMesosCon - Be a microservices hero
MesosCon - Be a microservices hero
 
Cloud APIs Overview Tucker
Cloud APIs Overview   TuckerCloud APIs Overview   Tucker
Cloud APIs Overview Tucker
 
Oracle GoldenGate 18c - REST API Examples
Oracle GoldenGate 18c - REST API ExamplesOracle GoldenGate 18c - REST API Examples
Oracle GoldenGate 18c - REST API Examples
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool
 
how to use openstack api
how to use openstack apihow to use openstack api
how to use openstack api
 
Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)
 
Interoperability and APIs in OpenStack
Interoperability and APIs in OpenStackInteroperability and APIs in OpenStack
Interoperability and APIs in OpenStack
 
How APIs Can Be Secured in Mobile Environments
How APIs Can Be Secured in Mobile EnvironmentsHow APIs Can Be Secured in Mobile Environments
How APIs Can Be Secured in Mobile Environments
 
112815 java ee8_davidd
112815 java ee8_davidd112815 java ee8_davidd
112815 java ee8_davidd
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
 

Plus de Revelation Technologies

PTK Issue 71: The Compute Cloud Performance Showdown
PTK Issue 71: The Compute Cloud Performance ShowdownPTK Issue 71: The Compute Cloud Performance Showdown
PTK Issue 71: The Compute Cloud Performance ShowdownRevelation Technologies
 
Securing your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the CloudSecuring your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the CloudRevelation Technologies
 
Oracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting StartedOracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting StartedRevelation Technologies
 
Developing Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database DevelopersDeveloping Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database DevelopersRevelation Technologies
 
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceOracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceRevelation Technologies
 
Getting Started with Security for your Oracle SOA Suite Integrations
Getting Started with Security for your Oracle SOA Suite IntegrationsGetting Started with Security for your Oracle SOA Suite Integrations
Getting Started with Security for your Oracle SOA Suite IntegrationsRevelation Technologies
 
First Impressions: Docker in the Cloud with Oracle Container Cloud Service
First Impressions: Docker in the Cloud with Oracle Container Cloud ServiceFirst Impressions: Docker in the Cloud with Oracle Container Cloud Service
First Impressions: Docker in the Cloud with Oracle Container Cloud ServiceRevelation Technologies
 
Oracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On Showdown
Oracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On ShowdownOracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On Showdown
Oracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On ShowdownRevelation Technologies
 
Oracle Compute Cloud Service vs. Amazon Web Services EC2
Oracle Compute Cloud Service vs. Amazon Web Services EC2Oracle Compute Cloud Service vs. Amazon Web Services EC2
Oracle Compute Cloud Service vs. Amazon Web Services EC2Revelation Technologies
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with DockerBuilding Reusable Development Environments with Docker
Building Reusable Development Environments with DockerRevelation Technologies
 
Oracle Java & Developer Cloud Service: What It Does & Doesn't Do
Oracle Java & Developer Cloud Service: What It Does & Doesn't DoOracle Java & Developer Cloud Service: What It Does & Doesn't Do
Oracle Java & Developer Cloud Service: What It Does & Doesn't DoRevelation Technologies
 
Oracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On Review
Oracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On ReviewOracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On Review
Oracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On ReviewRevelation Technologies
 

Plus de Revelation Technologies (16)

Operating System Security in the Cloud
Operating System Security in the CloudOperating System Security in the Cloud
Operating System Security in the Cloud
 
Getting Started with Terraform
Getting Started with TerraformGetting Started with Terraform
Getting Started with Terraform
 
Getting Started with API Management
Getting Started with API ManagementGetting Started with API Management
Getting Started with API Management
 
PTK Issue 71: The Compute Cloud Performance Showdown
PTK Issue 71: The Compute Cloud Performance ShowdownPTK Issue 71: The Compute Cloud Performance Showdown
PTK Issue 71: The Compute Cloud Performance Showdown
 
Securing your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the CloudSecuring your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
 
Oracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting StartedOracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting Started
 
Developing Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database DevelopersDeveloping Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database Developers
 
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceOracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
 
Getting Started with Security for your Oracle SOA Suite Integrations
Getting Started with Security for your Oracle SOA Suite IntegrationsGetting Started with Security for your Oracle SOA Suite Integrations
Getting Started with Security for your Oracle SOA Suite Integrations
 
Scale Oracle WebLogic Server
Scale Oracle WebLogic ServerScale Oracle WebLogic Server
Scale Oracle WebLogic Server
 
First Impressions: Docker in the Cloud with Oracle Container Cloud Service
First Impressions: Docker in the Cloud with Oracle Container Cloud ServiceFirst Impressions: Docker in the Cloud with Oracle Container Cloud Service
First Impressions: Docker in the Cloud with Oracle Container Cloud Service
 
Oracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On Showdown
Oracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On ShowdownOracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On Showdown
Oracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On Showdown
 
Oracle Compute Cloud Service vs. Amazon Web Services EC2
Oracle Compute Cloud Service vs. Amazon Web Services EC2Oracle Compute Cloud Service vs. Amazon Web Services EC2
Oracle Compute Cloud Service vs. Amazon Web Services EC2
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with DockerBuilding Reusable Development Environments with Docker
Building Reusable Development Environments with Docker
 
Oracle Java & Developer Cloud Service: What It Does & Doesn't Do
Oracle Java & Developer Cloud Service: What It Does & Doesn't DoOracle Java & Developer Cloud Service: What It Does & Doesn't Do
Oracle Java & Developer Cloud Service: What It Does & Doesn't Do
 
Oracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On Review
Oracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On ReviewOracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On Review
Oracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On Review
 

Dernier

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Dernier (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Automating Cloud Operations - Everything you wanted to know about cURL and REST APIs

  • 1. MICHIGAN ORACLE USERS SUMMIT 2020 MONDAY OCTOBER 26 – THURSDAY OCTOBER 29, 2020 VIRTUAL EVENT AUTOMATING CLOUD OPERATIONS EVERYTHING YOU WANTED TO KNOW ABOUT CURL AND REST APIS PRESENTER NAME: AHMED ABOULNAGA COMPANY:
  • 2.
  • 3.
  • 4. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 4 of 56 @Revelation_Tech Table of Contents Introduction 3 REST and Cloud 6 Introduction to REST 9 Introduction to cURL 23 Creating an Oracle Autonomous Database 30 Figuring Out Authentication and Headers 41 Demo 56
  • 5. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 5 of 56 @Revelation_Tech INTRODUCTION
  • 6. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 6 of 56 @Revelation_Tech About Me Ahmed Aboulnaga • Master’s degree in Computer Science from George Mason University • Recent emphasis on cloud, DevOps, middleware, security in current projects • Oracle ACE Pro, OCE, OCA • Author, Blogger, Presenter • @Ahmed_Aboulnaga
  • 7. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 7 of 56 @Revelation_Tech REST AND CLOUD
  • 8. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 8 of 56 @Revelation_Tech Cloud APIs • All cloud vendors provide some type of API to their services. • This allows for programmatic access to cloud services. • A basic understanding of cURL, REST, and JSON is helpful. • Most cloud providers use the REST architectural style for their APIs. Client REST API Cloud Service JSON / XML GET / POST / PUT / DELETE
  • 9. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 9 of 56 @Revelation_Tech Goal of this Presentation • Better understanding REST and JSON. • Understand and interpret REST API documentation. • Familiarization with authorization when calling REST APIs. • Become capable of automating your cloud operations through REST APIs. Target Audience https://globalacademy-eg.com/training-courses/oracle-dba.htm
  • 10. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 10 of 56 @Revelation_Tech MY STORY
  • 11. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 11 of 56 @Revelation_Tech My Use Case What I was trying to do? • Create an Identity Domain in Oracle Access Manager. • OAM 12.2.1.3 had a web- based console for all OAuth configuration.
  • 12. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 12 of 56 @Revelation_Tech My Use Case What was my challenge? • OAM 12.2.1.4 provided no web-based interface and only supported a REST API. https://docs.oracle.com/en/middleware/idm/access-manager/12.2.1.3/oroau/op-oam-services-rest-ssa-api-v1-oauthpolicyadmin-oauthidentitydomain-post.html
  • 13. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 13 of 56 @Revelation_Tech Start with the Documentation Was the documentation helpful? • Not all REST API documentation is created equally. • Fortunately, the OAM REST API documentation provided an example request and example response.
  • 14. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 14 of 56 @Revelation_Tech Preparing to Login What did I do first? • Passwords can be passed as a “username:password” combination or encoded. • Encoding converts literal text to a humanly unreadable format. • Used online to encode “weblogic:welcome1”. Authentication Options: curl -u 'weblogic':'welcome1' curl -H 'Authorization:Basic d2VibG9naWM6d2VsY29tZTE=' https://www.base64encode.org
  • 15. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 15 of 56 @Revelation_Tech Did it work? • Initial invocation failed command: curl -H 'Content-Type: application/x-www-form-urlencoded' -H 'Authorization:Basic d1VibG9naWM6d2VsY29tZTE=' --request POST http://soadev.revtech.com:7701/oam/services/rest/ssa/api /v1/oauthpolicyadmin/oauthidentitydomain -d ' { "name" : "AhmedWebGateDomain", "identityProvider" : "AhmedOUDStore", "description" : "Ahmed OIDC Domain" } ' • Output: Mandatory param not found. Entity - IdentityDomain, paramName - name • The documentation states that only “name” is mandatory. So what’s the problem?
  • 16. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 16 of 56 @Revelation_Tech What was the successful outcome? • Final successful command: curl -H 'Content-Type: application/x-www-form-urlencoded' -H 'Authorization:Basic d1VibG9naWM6d2VsY29tZTE=' 'http://soadev.revtech.com:7701/oam/services/rest/ssa/api/v1/oauthpolicyadmin/oauthidentit ydomain' -d '{"name":"AhmedWebGateDomain", "identityProvider":"AhmedOUDStore", "description":"Ahmed OIDC WebGate Domain", "tokenSettings":[{"tokenType":"ACCESS_TOKEN","tokenExpiry":3600,"lifeCycleEnabled":false," refreshTokenEnabled":false,"refreshTokenExpiry":86400,"refreshTokenLifeCycleEnabled":false }, {"tokenType":"AUTHZ_CODE","tokenExpiry":3600,"lifeCycleEnabled":false,"refreshTokenEnabled ":false,"refreshTokenExpiry":86400,"refreshTokenLifeCycleEnabled":false}, {"tokenType":"SSO_LINK_TOKEN","tokenExpiry":3600,"lifeCycleEnabled":false,"refreshTokenEna bled":false,"refreshTokenExpiry":86400,"refreshTokenLifeCycleEnabled":false}], "errorPageURL":"/oam/pages/servererror.jsp", "consentPageURL":"/oam/pages/consent.jsp"}’ • Impossible to determine accurate command without support, examples, or thorough documentation. • Required Oracle Support assistance to get these details.
  • 17. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 17 of 56 @Revelation_Tech INTRODUCTION TO REST
  • 18. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 18 of 56 @Revelation_Tech What is REST? • REpresentational State Transfer. • Architectural style for distributed hypermedia system. • Proposed in 2000 by Roy Fielding in his dissertation. • Web Service implemented with REST is called RESTful web service. • REST is not a protocol like SOAP . It is rather an architectural style. • REST services typically use HTTP/HTTPS, but can be implemented with other protocols like FTP .
  • 19. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 19 of 56 @Revelation_Tech REST Architectural Considerations Uniform interface: Easy to understand and readable results and can be consumed by any client or programming language over basic protocols. URI-based access: Using the same approach to a human browsing a website where all resource are linked together. Stateless communication: Extremely scalable since no client context is stored on the server between requests.
  • 20. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 20 of 56 @Revelation_Tech REST Methods • The HTTP protocol provides multiple methods which you can utilize for RESTful web services. • The table maps the HTTP method to the typical REST operation. • Some firewalls may limit some HTTP methods for security reasons. HTTP Method REST Operation GET Read POST Create PUT Update DELETE Delete OPTIONS List of available methods HEAD Get version PATCH Update property/attribute Most common in web applications Most common in REST to provide CRUD functionality
  • 21. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 21 of 56 @Revelation_Tech Resources • Requests are sent to resources (i.e., URLs). • Each resource represents an object which identified by a noun (e.g., employee, phone, address, etc.). • Each resource has a unique URL. • Typically when performing a POST (create) or PUT (update), you must pass additional values. Resource HTTP Method REST Output https://hostname/hr/employee GET Retrieve a list of all employees https://hostname/hr/employee/12 GET Retrieve details for employee #12 https://hostname/hr/employee POST Create a new employee https://hostname/hr/employee/12 PUT Update employee #12 https://hostname/hr/employee/12 DELETE Delete employee #12 https://hostname/hr/employee/12/address GET Retrieve address for employee #12
  • 22. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 22 of 56 @Revelation_Tech HTTP Response Codes • HTTP response codes determine the overall response of the REST invocation. HTTP Code Status Description 2XX (200, 201, 204) OK Data was received and operation was performed 3XX (301, 302) Redirect Request redirected to another URL 4XX (403, 404) Client Error Resource not available to client 5XX (500) Server Error Server error
  • 23. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 23 of 56 @Revelation_Tech JSON • JavaScript Object Notation. • Pronounced “Jason”. • An object surrounded by { }. • An array or ordered list. • REST can support both JSON and XML. • Less verbose than XML, but lacks metadata support. //JSON Object { "employee": { "id": 12, "name": "Kobe", "location": "USA" } } //JSON Array { "employees": [ { "id": 12, "name": "Kobe", "location": "USA" }, { "id": 13, "name": "Jordan", "location": "Canada" }, { "id": 14, "name": "Barkley", "location": "USA" } ] }
  • 24. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 24 of 56 @Revelation_Tech INTRODUCTION TO CURL
  • 25. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 25 of 56 @Revelation_Tech What is cURL? • Open-source command-line tool. • Supports more than 22 different protocols (e.g., HTTP , HTTPS, FTP , etc.). • For HTTP , supports all methods (e.g., GET, POST, PUT, DELETE, etc.). • Very useful for testing RESTful web services. • Other advanced tools available include Postman, SoapUI, Oracle SQL Developer, etc. • Example service: https://api.weather.gov/alerts/active?area=MI
  • 26. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 26 of 56 @Revelation_Tech Viewing Header Attributes • Fetch the HTTP header attributes only using the –i or -I option:
  • 27. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 27 of 56 @Revelation_Tech Authentication Options • Many authentication options are supported; access token, bearer token, OAuth, basic auth, username/password, client certificate, etc. Authentication Examples: curl -H 'token:T3jaD5aDHJLr3idjCma894DAWzk49opp' curl -u 'weblogic':'welcome1' curl -H 'Authorization:Basic d2VibG9naWM6d2VsY29tZTE=' Token-based Authentication:
  • 28. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 28 of 56 @Revelation_Tech Postman • Popular API client. • Free version available. • www.postman.com • Numerous features that include: - Create API documentation - Automated testing - Design and mock APIs - Monitor APIs - Etc.
  • 29. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 29 of 56 @Revelation_Tech Benefits of cURL • Free. • Command-line based tool. • Useful for non-interactive scripts. • Can pass HTTP headers, cookies, and authentication information. • Support for SSL, proxy, numerous protocols (e.g., LDAP , SMB, SCP , IMAP , FILE, TELNET, etc.), etc.
  • 30. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 30 of 56 @Revelation_Tech Recap • Recap of previous cURL request: curl -H 'Content-Type: application/x-www-form-urlencoded' -H 'Authorization:Basic d1VibG9naWM6d2VsY29tZTE=' -X POST http://revtech.com:7701/oam/services/rest/ssa/api/v1/oauthpolicyadmin/oauthidentitydomain -d ' { "name" : "AhmedWebGateDomain", "identityProvider" : "AhmedOUDStore", "description" : "Ahmed OIDC Domain" } '
  • 31. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 31 of 56 @Revelation_Tech CREATING AN AUTONOMOUS DATABASE
  • 32. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 32 of 56 @Revelation_Tech Manually Create an Autonomous Database (1 of 4)
  • 33. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 33 of 56 @Revelation_Tech Manually Create an Autonomous Database (2 of 4)
  • 34. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 34 of 56 @Revelation_Tech Manually Create an Autonomous Database (3 of 4)
  • 35. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 35 of 56 @Revelation_Tech Manually Create an Autonomous Database (4 of 4)
  • 36. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 36 of 56 @Revelation_Tech Navigate to Documentation • CreateAutonomousDatabase Reference https://docs.cloud.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/CreateAutonomousDatabase Note: • API reference • CreateAutonomous Database operation • REST API endpoint • API version
  • 37. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 37 of 56 @Revelation_Tech View Resource Details and Example • The resource details provides a list of all required parameters, often beyond what is demonstrated in the example. • Use the example as a starting point. { "compartmentId" : "ocid1.tenancy.oc1..d6cpxn…dbx", "displayName" : "MOUS DB 2020 Auto", "dbName" : "MOUSDBAUTO", "adminPassword" : "Kobe_24_24_24", "cpuCoreCount" : 1, "dataStorageSizeInTBs" : 1 }
  • 38. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 38 of 56 @Revelation_Tech First Attempt… Failed! • Unable to authenticate upon first try despite all parameters/settings correct per the documentation…
  • 39. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 39 of 56 @Revelation_Tech Execute Command • Eventually got it working…
  • 40. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 40 of 56 @Revelation_Tech Provisioning…
  • 41. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 41 of 56 @Revelation_Tech Available!
  • 42. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 42 of 56 @Revelation_Tech FIGURING OUT AUTHENTICATION &HEADERS
  • 43. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 43 of 56 @Revelation_Tech Discovery is Painful API References and Endpoints https://docs.cloud.oracle.com/en- us/iaas/api/#/en/database/20160918/ Oracle Cloud Infrastructure Documentation https://docs.cloud.oracle.com/en- us/iaas/Content/API/Concepts/apisigningkey.htm#How Managing Autonomous Data Warehouse Using oci- curl https://blogs.oracle.com/datawarehousing/managing- autonomous-data-warehouse-using-oci-curl Oracle Cloud Infrastructure (OCI) REST call walkthrough with curl https://www.ateam-oracle.com/oracle-cloud- infrastructure-oci-rest-call-walkthrough-with-curl But why didn’t the docs point me to this? Found this on my own, has some helpful info… I don’t want to use “oci- curl”! This is complicated! Thank God they have a script! Blog? Another blog?
  • 44. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 44 of 56 @Revelation_Tech Piecing It Together If you want to use cURL to invoke OCI REST APIs… 1. Get information from the OCI Console a. Get the Tenancy ID b. Get the User ID 2. Generate and configure an API Signing Key a. Create public/private key pair b. Get the fingerprint of the key c. Get the public key from the private key in PEM format d. Add the API Key to the OCI user (by uploading the public key) 3. Prepare and execute script a. Ensure private key is available b. Create the JSON request c. Update the custom script d. Execute!
  • 45. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 45 of 56 @Revelation_Tech 1a. Get the Tenancy ID
  • 46. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 46 of 56 @Revelation_Tech 1b. Get the User ID
  • 47. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 47 of 56 @Revelation_Tech 2a. Create public/private key pair • Use ssh-keygen to create a public/private key pair. • The public key will be added as an “API Key” to your OCI account. • The private key will be used by your client (i.e., cURL).
  • 48. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 48 of 56 @Revelation_Tech 2b. Get the fingerprint of the key • Use openssl to view the X.509 MD5 PEM certificate fingerprint.
  • 49. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 49 of 56 @Revelation_Tech 2c. Get public key from the private key in PEM format • OCI requires that the public key is imported in PEM format. • Use openssl to get the public key in PEM format.
  • 50. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 50 of 56 @Revelation_Tech 2d. Add the API Key to the OCI user • The public key is added to the OCI user’s API Key. • Must be in PEM format. • Can be uploaded or pasted.
  • 51. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 51 of 56 @Revelation_Tech 3a. Ensure private key is available • The private key created earlier (and in PEM format) is used when invoking the REST service.
  • 52. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 52 of 56 @Revelation_Tech 3b. Create the JSON request • The payload is created in JSON format.
  • 53. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 53 of 56 @Revelation_Tech 3c. Update custom script • The various elements (tenancy id, user id, private key, key fingerprint, etc.) are parameterized. • OCI’s REST API requires additional calculated elements, all taken care of here (oci-curl takes care of all of this for you). • The cURL command is eventually called using a combination of static and dynamic values.
  • 54. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 54 of 56 @Revelation_Tech 3d. Execute! • The cURL command is expanded. • The cURL command is executed. • The HTTP status code is observed to obtain the result of the invocation.
  • 55. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 55 of 56 @Revelation_Tech Provisioning…
  • 56. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 56 of 56 @Revelation_Tech Available!
  • 57. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 57 of 56 @Revelation_Tech DEMO
  • 58. © Revelation Technologies Group, Inc. 2020 | All rights reserved. Slide 58 of 56 @Revelation_Tech