├── .gitignore ├── .travis.yml ├── resource ├── sqlcl │ ├── latest_version_test.go │ ├── latest_version.go │ └── sqlcl.go ├── component_map.go ├── db │ ├── 11gxe.go │ └── 12c.go ├── resource.go ├── finder │ └── finder.go ├── apex │ └── apex.go ├── java │ ├── jdk.go │ └── jre.go ├── ords │ └── ords.go ├── sqldev │ └── sqldev.go └── instantclient │ ├── precompiler.go │ ├── odbc.go │ ├── sdk.go │ ├── wrc.go │ ├── jdbc.go │ ├── basic.go │ ├── sqlplus.go │ └── basic_lite.go ├── arch └── arch.go ├── LICENSE ├── dl ├── oracle.go └── download.go ├── main.go └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | dist/* 2 | odl* 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.6 4 | sudo: false 5 | -------------------------------------------------------------------------------- /resource/sqlcl/latest_version_test.go: -------------------------------------------------------------------------------- 1 | package sqlcl 2 | 3 | import ( 4 | "strings" 5 | "testing" 6 | ) 7 | 8 | func TestLatestVersion(t *testing.T) { 9 | 10 | t.Log("Testing sqlcl version") 11 | 12 | latestVersion := GetLatestVersion() 13 | 14 | if len(latestVersion) == 0 { 15 | t.Errorf("Version not parsed in result") 16 | } 17 | 18 | buildCmps := strings.Split(latestVersion, ".") 19 | const expectedCmpsLen = 5 //17.2.0.184.1230 20 | 21 | if len(buildCmps) != expectedCmpsLen { 22 | t.Errorf("Build version (%s) not as expected. Should having 6 components similar to 4.2.0.17.096.0933", latestVersion) 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /arch/arch.go: -------------------------------------------------------------------------------- 1 | package arch 2 | 3 | import "fmt" 4 | 5 | type Arch int 6 | 7 | const ( 8 | // Na Will be used to represent software that doesn't require a CPU 9 | // architecture. Making it the first entry in the list so that it becomes 10 | // the zero value. Useful for our arguments, so if it's omitted, it will 11 | // defualt to Na. 12 | Na Arch = iota 13 | X86 14 | X64 15 | ) 16 | 17 | func (a Arch) String() string { 18 | if a == X86 { 19 | return "x86" 20 | } else if a == X64 { 21 | return "x64" 22 | } else if a == Na { 23 | return "na" 24 | } else { 25 | //Unspported value. Return an empty string 26 | return "" 27 | } 28 | } 29 | 30 | func (a *Arch) Set(v string) error { 31 | 32 | if v == "x86" { 33 | *a = X86 34 | } else if v == "x64" { 35 | *a = X64 36 | } else if v == "na" { 37 | *a = Na 38 | } else { 39 | return fmt.Errorf("Received value \"%s\" is an unknown architecture. Value must be \"x86\", \"x64\" or \"na\"", v) 40 | } 41 | 42 | return nil 43 | 44 | } 45 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Trent Schafer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /resource/component_map.go: -------------------------------------------------------------------------------- 1 | package resource 2 | 3 | type ComponentType int 4 | 5 | // ComponentPackageMap is an alias to a map[string]string. It is used to store 6 | // component names to relate to which package they belong to. For example 7 | // the instantclient package consists of: instantclient-sqlplus, instantclient-basic 8 | // etc. So I want a reference to know which component belongs to which package 9 | // to aid in determining which package to pull from 10 | type ComponentPackageMap map[string]ComponentType 11 | 12 | const ( 13 | APEX ComponentType = iota 14 | DB 15 | INSTANT_CLIENT 16 | JAVA 17 | ORDS 18 | SQLCL 19 | SQLDEV 20 | ) 21 | 22 | var ( 23 | ComponentMap = ComponentPackageMap{ 24 | "apex": APEX, 25 | "db": DB, 26 | "instantclient-basic": INSTANT_CLIENT, 27 | "instantclient-basic-lite": INSTANT_CLIENT, 28 | "instantclient-jdbc": INSTANT_CLIENT, 29 | "instantclient-odbc": INSTANT_CLIENT, 30 | "instantclient-sdk": INSTANT_CLIENT, 31 | "instantclient-sqlplus": INSTANT_CLIENT, 32 | "instantclient-wrc": INSTANT_CLIENT, 33 | "instantclient-precompiler": INSTANT_CLIENT, 34 | "java-jdk": JAVA, 35 | "java-jre": JAVA, 36 | "ords": ORDS, 37 | "sqlcl": SQLCL, 38 | "sqldev": SQLDEV, 39 | "sqldev-jdk": SQLDEV, 40 | } 41 | ) 42 | -------------------------------------------------------------------------------- /resource/sqlcl/latest_version.go: -------------------------------------------------------------------------------- 1 | package sqlcl 2 | 3 | import ( 4 | "fmt" 5 | "log" 6 | "regexp" 7 | 8 | "github.com/PuerkitoBio/goquery" 9 | ) 10 | 11 | // GetFilename returns the expect filename for the passed in, v, version of 12 | // SQLcl 13 | func GetFilename(v string) string { 14 | 15 | latestVersion := GetLatestVersion() 16 | 17 | return fmt.Sprintf("sqlcl-%s-no-jre.zip", latestVersion) 18 | 19 | } 20 | 21 | // GetLatestVersion returns the latest version of SQLcl by scraping the SQLcl 22 | // download page. Returns purely the version number, e.g. 4.2.0.17.096.0933 23 | func GetLatestVersion() string { 24 | 25 | doc, err := goquery.NewDocument("http://www.oracle.com/technetwork/developer-tools/sqlcl/downloads/index.html") 26 | if err != nil { 27 | log.Fatal(err) 28 | } 29 | 30 | // As at 8th April, 2016, the product version appears in a string on the page 31 | // resembling: April 6, 2017 - Update 4.2.0.17.096.0933 32 | // 33 | //
34 | //

35 | // SQLcl 4.2 36 | //

37 | //

38 | // April 6, 2017 - Update 4.2.0.17.096.0933 39 | //

40 | // 41 | // ..etc 42 | // 43 | productInfo := doc.Find("div.sqldev-product > p") 44 | versionString := productInfo.Text() 45 | 46 | // \d{1,4} - match a sequence of digits ranging from 1 - 4 characters 47 | // (\.)? - optionally match a period at the end of the digit 48 | // +$ - repeat until we reach the end of the string/line 49 | versionRegexRule, _ := regexp.Compile(`(\d{1,4}(\.)?)+$`) 50 | extractedVersion := versionRegexRule.FindString(versionString) 51 | 52 | // return fmt.Sprintf("sqlcl-%s-no-jre.zip", extractedVersion) 53 | return extractedVersion 54 | } 55 | -------------------------------------------------------------------------------- /resource/db/11gxe.go: -------------------------------------------------------------------------------- 1 | package db 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetXeResouces() []*resource.OracleResource { 11 | 12 | acceptCookie := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-sqldev-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | xeResources := []*resource.OracleResource{} 19 | 20 | // Oracle 11gXE for Linux, 64-bit 21 | xeResources = append(xeResources, &resource.OracleResource{ 22 | Component: "db", 23 | Version: "11gXE", 24 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip"}, 25 | License: "http://www.oracle.com/technetwork/licenses/database-11g-express-license-459621.html", 26 | OS: "linux", 27 | Arch: arch.X64, 28 | Lang: "na", 29 | AcceptCookie: acceptCookie, 30 | }) 31 | 32 | // Oracle 11gXE for Windows, 32-bit 33 | xeResources = append(xeResources, &resource.OracleResource{ 34 | Component: "db", 35 | Version: "11gXE", 36 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/oracle11g/xe/OracleXE112_Win32.zip"}, 37 | License: "http://www.oracle.com/technetwork/licenses/database-11g-express-license-459621.html", 38 | OS: "windows", 39 | Arch: arch.X86, 40 | Lang: "na", 41 | AcceptCookie: acceptCookie, 42 | }) 43 | 44 | // Oracle 11gXE for windows, 64bit 45 | xeResources = append(xeResources, &resource.OracleResource{ 46 | Component: "db", 47 | Version: "11gXE", 48 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/oracle11g/xe/OracleXE112_Win64.zip"}, 49 | License: "http://www.oracle.com/technetwork/licenses/database-11g-express-license-459621.html", 50 | OS: "windows", 51 | Arch: arch.X64, 52 | Lang: "na", 53 | AcceptCookie: acceptCookie, 54 | }) 55 | 56 | return xeResources 57 | } 58 | -------------------------------------------------------------------------------- /resource/sqlcl/sqlcl.go: -------------------------------------------------------------------------------- 1 | package sqlcl 2 | 3 | import ( 4 | "net/http" 5 | "path/filepath" 6 | "strings" 7 | 8 | "github.com/tschf/odl/arch" 9 | "github.com/tschf/odl/resource" 10 | ) 11 | 12 | func appendWithVersionCheck(resources []*resource.OracleResource, newResource *resource.OracleResource) []*resource.OracleResource { 13 | 14 | latestBuild := GetLatestVersion() 15 | 16 | // If the start of the latest build matches the major.minor version number 17 | // ensure the file URL points to that build 18 | if strings.HasPrefix(latestBuild, newResource.Version) { 19 | // We only expect one file path in the array, so just directly assign 20 | // the first value from the file list 21 | sqlclURL := newResource.File[0] 22 | 23 | fileBasename := filepath.Base(sqlclURL) 24 | latestBasename := GetFilename(latestBuild) 25 | sqlclNewURL := strings.Replace(sqlclURL, fileBasename, latestBasename, 1) //only expected to replace one occurrence 26 | 27 | newResource.File[0] = sqlclNewURL 28 | 29 | } 30 | 31 | resources = append(resources, newResource) 32 | 33 | return resources 34 | } 35 | 36 | func GetSqlclResources() []*resource.OracleResource { 37 | 38 | acceptCookie := &http.Cookie{ 39 | Name: "oraclelicense", 40 | Value: "accept-sqldev-cookie", 41 | Domain: ".oracle.com", 42 | } 43 | 44 | sqlClResources := []*resource.OracleResource{} 45 | 46 | sqlClResources = appendWithVersionCheck(sqlClResources, &resource.OracleResource{ 47 | Component: "sqlcl", 48 | Version: "17.2", 49 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqlcl-17.2.0.184.1230-no-jre.zip"}, 50 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 51 | OS: "na", 52 | Arch: arch.Na, 53 | Lang: "na", 54 | AcceptCookie: acceptCookie, 55 | }) 56 | 57 | sqlClResources = appendWithVersionCheck(sqlClResources, &resource.OracleResource{ 58 | Component: "sqlcl", 59 | Version: "4.2", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqlcl-4.2.0.17.096.0933-no-jre.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 62 | OS: "na", 63 | Arch: arch.Na, 64 | Lang: "na", 65 | AcceptCookie: acceptCookie, 66 | }) 67 | 68 | return sqlClResources 69 | } 70 | -------------------------------------------------------------------------------- /resource/resource.go: -------------------------------------------------------------------------------- 1 | package resource 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | ) 8 | 9 | // OracleResource represents the information about a resource that is hosted 10 | // on the Oracle Tech Network (OTN) that can be downloaded. 11 | type OracleResource struct { 12 | // Component is the high level detail about a particular resource, so that 13 | // resources can my logically grouped by their component. In general, the 14 | // the package name will be a 1-to-1 relationship with the component name. 15 | // However, some resources consist of a number of component names - such as 16 | // the instant client, which comes with sdk, basic, basic-lite, odbc, wrc 17 | // and sqlplus. This will be represented by the command argument "component" 18 | Component string 19 | // Version is used to determine which version of the particular component 20 | // to download. 21 | Version string 22 | // File represents the actual location of the specific software. This needs 23 | // to be a list, since some Oracle resources contain more than one file. 24 | // One such example is Oracle 12c EE. See: 25 | // http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 26 | File []string 27 | // License is a URL to the OTN license agreement to the specific software. 28 | // The license URL varies between each software download. 29 | License string 30 | // Java downloads, unlike most other Oracle resources does not seem to require 31 | // authentication. Instead, it requires only the accept cookie to be set. 32 | // Usually, the flow would be: request resource => go to login page => 33 | // submit username/password (POST) and then receive the originally requested 34 | // file. In the case of Java downloads, the second step doesn't come into 35 | // play. So, we can use this flag (not the norm) to indicate when the 36 | // second step doesn't come into force 37 | SkipAuth bool 38 | // OS is for the operating system for the particular software. Valid values 39 | // would include: "linux", "osx" and "windows" 40 | OS string 41 | // Arch represents the architecture of the OS you would like to install the 42 | // software one. Values are provided through the arch package and include 43 | // x86, x64 or na (not applicable - as some software is architecture independent) 44 | Arch arch.Arch 45 | // Lange represents the language the software is targeting. In particular, 46 | // APEX comes with a version targeting just english. I think language targets 47 | // only happens with APEX. Valid values would be "en" or "na". 48 | Lang string 49 | // AcceptCookie is the http.Cookie that is required to indicate that the 50 | // License has been accepted. The cookie name has an every so slight variation 51 | // between the different software downloads, but usually starts with `accept-` 52 | // and ends in `-cookie`. 53 | AcceptCookie *http.Cookie 54 | } 55 | -------------------------------------------------------------------------------- /resource/finder/finder.go: -------------------------------------------------------------------------------- 1 | package finder 2 | 3 | import ( 4 | "github.com/tschf/odl/arch" 5 | "github.com/tschf/odl/resource" 6 | "github.com/tschf/odl/resource/apex" 7 | "github.com/tschf/odl/resource/db" 8 | "github.com/tschf/odl/resource/instantclient" 9 | "github.com/tschf/odl/resource/java" 10 | "github.com/tschf/odl/resource/ords" 11 | "github.com/tschf/odl/resource/sqlcl" 12 | "github.com/tschf/odl/resource/sqldev" 13 | ) 14 | 15 | func FindResource(componentName string, version string, os string, arch arch.Arch, lang string) (*resource.OracleResource, bool) { 16 | 17 | selectedComponent := resource.ComponentMap[componentName] 18 | 19 | var componentResources []*resource.OracleResource 20 | // first, load the relevant resources - target based on the component name 21 | // so we aren't uncessarily loading and looking at all resources across 22 | // components 23 | switch selectedComponent { 24 | case resource.APEX: 25 | componentResources = apex.GetApexResources() 26 | case resource.DB: 27 | componentResources = db.GetXeResouces() 28 | componentResources = append(componentResources, db.Get12cResouces()...) 29 | case resource.INSTANT_CLIENT: 30 | componentResources = instantclient.GetIcBasicLiteResources() 31 | componentResources = append(componentResources, instantclient.GetIcBasicResources()...) 32 | componentResources = append(componentResources, instantclient.GetIcBasicResources()...) 33 | componentResources = append(componentResources, instantclient.GetIcJdbcResources()...) 34 | componentResources = append(componentResources, instantclient.GetIcODBCResources()...) 35 | componentResources = append(componentResources, instantclient.GetIcSdkResources()...) 36 | componentResources = append(componentResources, instantclient.GetIcSqlplusResources()...) 37 | componentResources = append(componentResources, instantclient.GetIcWrcResources()...) 38 | componentResources = append(componentResources, instantclient.GetIcPrecompilerResources()...) 39 | case resource.JAVA: 40 | componentResources = java.GetJdkResources() 41 | componentResources = append(componentResources, java.GetJreResources()...) 42 | case resource.ORDS: 43 | componentResources = ords.GetOrdsResources() 44 | case resource.SQLCL: 45 | componentResources = sqlcl.GetSqlclResources() 46 | case resource.SQLDEV: 47 | componentResources = sqldev.GetSqldevResources() 48 | } 49 | 50 | // Interrogate all the components and look for the one matching all the 51 | // fields - language, architecture, version and OS. 52 | for _, el := range componentResources { 53 | if el.Component == componentName && el.Lang == lang && el.Version == version && el.OS == os && el.Arch == arch { 54 | return el, true 55 | } 56 | } 57 | 58 | // If we get to this point, there were no matching resources found, so we 59 | // should return an empty OracleResource, and false to indicate there 60 | // was no matching resource. 61 | return &resource.OracleResource{}, false 62 | 63 | } 64 | -------------------------------------------------------------------------------- /resource/db/12c.go: -------------------------------------------------------------------------------- 1 | package db 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func Get12cResouces() []*resource.OracleResource { 11 | 12 | acceptCookie := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-dbindex-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | db12cResources := []*resource.OracleResource{} 19 | 20 | // EE 21 | db12cResources = append(db12cResources, &resource.OracleResource{ 22 | Component: "db", 23 | Version: "12.1.0.2.0EE", 24 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/oracle12c/121020/linuxamd64_12102_database_1of2.zip", "https://edelivery.oracle.com/akam/otn/linux/oracle12c/121020/linuxamd64_12102_database_2of2.zip"}, 25 | License: "http://www.oracle.com/technetwork/licenses/standard-license-152015.html", 26 | OS: "linux", 27 | Arch: arch.X64, 28 | Lang: "na", 29 | AcceptCookie: acceptCookie, 30 | }) 31 | 32 | db12cResources = append(db12cResources, &resource.OracleResource{ 33 | Component: "db", 34 | Version: "12.1.0.2.0EE", 35 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/oracle12c/121020/winx64_12102_database_1of2.zip", "https://edelivery.oracle.com/akam/otn/nt/oracle12c/121020/winx64_12102_database_2of2.zip"}, 36 | License: "http://www.oracle.com/technetwork/licenses/standard-license-152015.html", 37 | OS: "windows", 38 | Arch: arch.X64, 39 | Lang: "na", 40 | AcceptCookie: acceptCookie, 41 | }) 42 | 43 | // SE2 44 | db12cResources = append(db12cResources, &resource.OracleResource{ 45 | Component: "db", 46 | Version: "12.1.0.2.0SE2", 47 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/oracle12c/121020/linuxamd64_12102_database_se2_1of2.zip", "https://edelivery.oracle.com/akam/otn/linux/oracle12c/121020/linuxamd64_12102_database_se2_2of2.zip"}, 48 | License: "http://www.oracle.com/technetwork/licenses/standard-license-152015.html", 49 | OS: "linux", 50 | Arch: arch.X64, 51 | Lang: "na", 52 | AcceptCookie: acceptCookie, 53 | }) 54 | 55 | db12cResources = append(db12cResources, &resource.OracleResource{ 56 | Component: "db", 57 | Version: "12.1.0.2.0SE2", 58 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/oracle12c/121020/winx64_12102_SE2_database_1of2.zip", "https://edelivery.oracle.com/akam/otn/nt/oracle12c/121020/winx64_12102_SE2_database_2of2.zip"}, 59 | License: "http://www.oracle.com/technetwork/licenses/standard-license-152015.html", 60 | OS: "windows", 61 | Arch: arch.X64, 62 | Lang: "na", 63 | AcceptCookie: acceptCookie, 64 | }) 65 | 66 | db12cResources = append(db12cResources, &resource.OracleResource{ 67 | Component: "db", 68 | Version: "12.2.0.1.0", 69 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/oracle12c/122010/linuxx64_12201_database.zip"}, 70 | License: "http://www.oracle.com/technetwork/licenses/standard-license-152015.html", 71 | OS: "linux", 72 | Arch: arch.X64, 73 | Lang: "na", 74 | AcceptCookie: acceptCookie, 75 | }) 76 | 77 | return db12cResources 78 | } 79 | -------------------------------------------------------------------------------- /resource/apex/apex.go: -------------------------------------------------------------------------------- 1 | package apex 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetApexResources() []*resource.OracleResource { 11 | 12 | acceptCookie := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-appex3-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | apexResources := []*resource.OracleResource{} 19 | 20 | // Add APEX 5.1 - the version for all languages 21 | apexResources = append(apexResources, &resource.OracleResource{ 22 | Component: "apex", 23 | Version: "5.1", 24 | File: []string{"https://edelivery.oracle.com/akam/otn/java/appexpress/apex_5.1.zip"}, 25 | License: "http://www.oracle.com/technetwork/licenses/app-express-lic-152009.html", 26 | OS: "na", 27 | Arch: arch.Na, 28 | Lang: "na", 29 | AcceptCookie: acceptCookie, 30 | }) 31 | 32 | // Add APEX 5.1 - the version for english 33 | apexResources = append(apexResources, &resource.OracleResource{ 34 | Component: "apex", 35 | Version: "5.1", 36 | File: []string{"https://edelivery.oracle.com/akam/otn/java/appexpress/apex_5.1_en.zip"}, 37 | License: "http://www.oracle.com/technetwork/licenses/app-express-lic-152009.html", 38 | OS: "na", 39 | Arch: arch.Na, 40 | Lang: "en", 41 | AcceptCookie: acceptCookie, 42 | }) 43 | 44 | // Add APEX 5.0 - the version for all languages 45 | apexResources = append(apexResources, &resource.OracleResource{ 46 | Component: "apex", 47 | Version: "5.0", 48 | File: []string{"https://edelivery.oracle.com/akam/otn/java/appexpress/apex_5.0.4.zip"}, 49 | License: "http://www.oracle.com/technetwork/licenses/app-express-lic-152009.html", 50 | OS: "na", 51 | Arch: arch.Na, 52 | Lang: "na", 53 | AcceptCookie: acceptCookie, 54 | }) 55 | 56 | // Add APEX 5.0 - the version for english 57 | apexResources = append(apexResources, &resource.OracleResource{ 58 | Component: "apex", 59 | Version: "5.0", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/java/appexpress/apex_5.0.4_en.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/app-express-lic-152009.html", 62 | OS: "na", 63 | Arch: arch.Na, 64 | Lang: "en", 65 | AcceptCookie: acceptCookie, 66 | }) 67 | 68 | // Add APEX 4.2 - the version for all languages 69 | apexResources = append(apexResources, &resource.OracleResource{ 70 | Component: "apex", 71 | Version: "4.2", 72 | File: []string{"https://edelivery.oracle.com/akam/otn/java/appexpress/apex_4.2.6.zip"}, 73 | License: "http://www.oracle.com/technetwork/licenses/app-express-lic-152009.html", 74 | OS: "na", 75 | Arch: arch.Na, 76 | Lang: "na", 77 | AcceptCookie: acceptCookie, 78 | }) 79 | 80 | // Add APEX 4.2 - the version for english 81 | apexResources = append(apexResources, &resource.OracleResource{ 82 | Component: "apex", 83 | Version: "4.2", 84 | File: []string{"https://edelivery.oracle.com/akam/otn/java/appexpress/apex_4.2.6_en.zip"}, 85 | License: "http://www.oracle.com/technetwork/licenses/app-express-lic-152009.html", 86 | OS: "na", 87 | Arch: arch.Na, 88 | Lang: "en", 89 | AcceptCookie: acceptCookie, 90 | }) 91 | 92 | return apexResources 93 | } 94 | -------------------------------------------------------------------------------- /dl/oracle.go: -------------------------------------------------------------------------------- 1 | package dl 2 | 3 | import ( 4 | "log" 5 | "net/http" 6 | "net/url" 7 | "strings" 8 | 9 | "github.com/PuerkitoBio/goquery" 10 | ) 11 | 12 | const loginURIPrefix string = "https://login.oracle.com" 13 | 14 | func resubmitResponseForm(resp *http.Response, httpClient *http.Client) *http.Response { 15 | goqueryDoc, err := goquery.NewDocumentFromResponse(resp) 16 | if err != nil { 17 | log.Fatal(err) 18 | } 19 | pageForm := goqueryDoc.Find("form") 20 | 21 | pageAction, _ := pageForm.Attr("action") 22 | if !strings.HasPrefix(pageAction, loginURIPrefix) { 23 | pageAction = loginURIPrefix + pageAction 24 | } 25 | 26 | formInputData := url.Values{} 27 | pageForm.Find("input").Each(func(index int, el *goquery.Selection) { 28 | inputName, _ := el.Attr("name") 29 | inputValue, _ := el.Attr("value") 30 | 31 | if len(inputName) > 0 { 32 | formInputData.Set(inputName, inputValue) 33 | } 34 | }) 35 | 36 | formReq := getRequest(http.MethodPost, pageAction, formInputData) 37 | formResp := getResponse(formReq, httpClient) 38 | 39 | return formResp 40 | } 41 | 42 | // The login form, which should point at: /oam/server/sso/auth_cred_submit 43 | // Will have a 6 fields that get sent to the server in a POST request: 44 | // - v 45 | // - OAM_REQ 46 | // - site2pstoretoken 47 | // - locale 48 | // - ssousername 49 | // - password 50 | func submitLoginForm(oamLoginPageResp *http.Response, httpClient *http.Client, otnUser string, otnPassword string) *http.Response { 51 | goqueryDoc, err := goquery.NewDocumentFromResponse(oamLoginPageResp) 52 | if err != nil { 53 | log.Fatal(err) 54 | } 55 | 56 | loginForm := goqueryDoc.Find("form") 57 | 58 | loginFormData := url.Values{} 59 | loginAction, _ := loginForm.Attr("action") 60 | loginAction = loginURIPrefix + loginAction 61 | 62 | loginForm.Find("input").Each(func(index int, el *goquery.Selection) { 63 | inputName, _ := el.Attr("name") 64 | inputValue, _ := el.Attr("value") 65 | 66 | if len(inputName) > 0 { 67 | loginFormData.Set(inputName, inputValue) 68 | } 69 | }) 70 | 71 | // The login form has fields in the input element names: 72 | // - ssousername 73 | // - password 74 | loginFormData.Set("ssousername", otnUser) 75 | loginFormData.Set("password", otnPassword) 76 | 77 | loginReq := getRequest(http.MethodPost, loginAction, loginFormData) 78 | loginResp := getResponse(loginReq, httpClient) 79 | 80 | return loginResp 81 | } 82 | 83 | // When login is required 84 | func loginAndGetFile(file string, httpClient *http.Client, otnUser string, otnPassword string) *http.Response { 85 | 86 | // Request the file, e.g. https://edelivery.oracle.com/akam/otn/java/appexpress/apex_5.1.zip 87 | // This will result in HTTP 302 to: /oam/server/osso_login?.. 88 | // This page contains a form, with the action to: /mysso/signon.jsp 89 | fileRequest := getRequest(http.MethodGet, file, nil) 90 | resp := getResponse(fileRequest, httpClient) 91 | defer resp.Body.Close() 92 | 93 | // Here, we post the form: /mysso/signon.jsp with all the input elements. 94 | // The response contains another form 95 | oamLoginPageResp := resubmitResponseForm(resp, httpClient) 96 | defer oamLoginPageResp.Body.Close() 97 | 98 | // Once that is returned, a login form is returned where we actually send 99 | // the login (username and password) data to. 100 | // This is the last piece that will have a redirect to download the file. 101 | // (at least, until things change again) 102 | loginAuthResp := submitLoginForm(oamLoginPageResp, httpClient, otnUser, otnPassword) 103 | 104 | return loginAuthResp 105 | } 106 | -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "bufio" 5 | "flag" 6 | "fmt" 7 | "log" 8 | "os" 9 | "strings" 10 | 11 | "github.com/tschf/odl/arch" 12 | "github.com/tschf/odl/dl" 13 | "github.com/tschf/odl/resource/finder" 14 | ) 15 | 16 | // In order to download software, the OTN license agreement must be accepted. 17 | // This is implemented by two mechanisms: 18 | // 1. The command line argument `accept-license` 19 | // 2. Prompting for user input, with a Y/N value where Y indicated truth 20 | func getLicenseAcceptance(acceptFromFlag bool, licenseURL string, user string) bool { 21 | 22 | if acceptFromFlag { 23 | fmt.Printf("INFO: You (%s) have nominated you accept the OTN license agreement. Use of this software is tied to that acceptance.\n", user) 24 | return true 25 | } 26 | 27 | // Because the accept flag wasn't passed in, we want to prompt the user 28 | // to decide if they'd like to accept the license or not - passing in the 29 | // URL to the license agreement 30 | fmt.Println("Before continuing, you must accept the OTN license agreement.") 31 | fmt.Println(fmt.Sprintf("The full terms can be found here: %s", licenseURL)) 32 | fmt.Print("Please enter Y if you accept the license agreement: ") 33 | 34 | reader := bufio.NewReader(os.Stdin) 35 | strLicenseAccepted, _ := reader.ReadString('\n') 36 | 37 | return strings.TrimSpace(strLicenseAccepted) == "Y" 38 | } 39 | 40 | func main() { 41 | 42 | var ( 43 | flagUser = flag.String("username", "", "Specify the user account that will be logging in and accepting the license agreement. Alternatively, set the environment variable OTN_USERNAME.") 44 | flagPassword = flag.String("password", "", "Specify the password that corresponds to your OTN account. Alternatively, set the environment variable OTN_PASSWORD.") 45 | flagOs = flag.String("os", "linux", "Specify the desired platform of the software. Should be \"linux\" or \"windows\"") 46 | flagComponent = flag.String("component", "", "Specify the component to grab.") 47 | flagVersion = flag.String("version", "", "Specify the software version. ") 48 | flagLang = flag.String("lang", "na", "Specify the language of the software. Should be \"en\" or \"na\"") 49 | flagAcceptLicense = flag.Bool("accept-license", false, "Specify whether or not you accept the OTN license agreement for the nominated software.") 50 | flagArchitecture arch.Arch 51 | flagSkipExisting = flag.Bool("skip-if-exists", false, "Specify whether or not you want to skip existing files.") 52 | ) 53 | 54 | flag.Var(&flagArchitecture, "arch", "Specify the desired architecture of the software. Should be \"x86\", \"x64\", or \"na\"") 55 | flag.Parse() 56 | 57 | otnUser := *flagUser 58 | if len(otnUser) == 0 { 59 | otnUser = os.Getenv("OTN_USERNAME") 60 | } 61 | 62 | if len(otnUser) == 0 { 63 | log.Fatal("You must specify an OTN username to access OTN files. Set with the flag -username or set the environment variable OTN_USERNAME.") 64 | } 65 | 66 | otnPassword := *flagPassword 67 | if len(otnPassword) == 0 { 68 | otnPassword = os.Getenv("OTN_PASSWORD") 69 | } 70 | 71 | selectedFile, ok := finder.FindResource(*flagComponent, *flagVersion, *flagOs, flagArchitecture, *flagLang) 72 | 73 | if ok { 74 | 75 | fmt.Printf("Beginning download process for %s %s\n", *flagComponent, *flagVersion) 76 | 77 | // The license accepted is done either through a command line flag 78 | // (accept-license), or if that is not set, prompted the user for input 79 | // which accepts a Y/N value. Only if the user inputs Y does that 80 | // indicate acceptance of the license. 81 | otnLicenseAccepted := getLicenseAcceptance(*flagAcceptLicense, selectedFile.License, otnUser) 82 | 83 | if !otnLicenseAccepted { 84 | fmt.Fprint(os.Stderr, "You must accept the license agreement in order to download. Exiting now.\n") 85 | os.Exit(1) 86 | } 87 | 88 | dl.SaveResource(selectedFile, otnUser, otnPassword, *flagSkipExisting) 89 | 90 | fmt.Println("Download complete.") 91 | } else { 92 | log.Fatal("Err, Could not find the selected file.") 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /resource/java/jdk.go: -------------------------------------------------------------------------------- 1 | package java 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetJdkResources() []*resource.OracleResource { 11 | 12 | acceptCookie := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-securebackup-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | jdkResources := []*resource.OracleResource{} 19 | 20 | jdkResources = append(jdkResources, &resource.OracleResource{ 21 | Component: "java-jdk", 22 | Version: "8", 23 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm"}, 24 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 25 | SkipAuth: true, 26 | OS: "linux-rpm", 27 | Arch: arch.X64, 28 | Lang: "na", 29 | AcceptCookie: acceptCookie, 30 | }) 31 | 32 | jdkResources = append(jdkResources, &resource.OracleResource{ 33 | Component: "java-jdk", 34 | Version: "8", 35 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz"}, 36 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 37 | SkipAuth: true, 38 | OS: "linux", 39 | Arch: arch.X64, 40 | Lang: "na", 41 | AcceptCookie: acceptCookie, 42 | }) 43 | 44 | jdkResources = append(jdkResources, &resource.OracleResource{ 45 | Component: "java-jdk", 46 | Version: "8", 47 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-i586.rpm"}, 48 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 49 | SkipAuth: true, 50 | OS: "linux-rpm", 51 | Arch: arch.X86, 52 | Lang: "na", 53 | AcceptCookie: acceptCookie, 54 | }) 55 | 56 | jdkResources = append(jdkResources, &resource.OracleResource{ 57 | Component: "java-jdk", 58 | Version: "8", 59 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-i586.tar.gz"}, 60 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 61 | SkipAuth: true, 62 | OS: "linux", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookie, 66 | }) 67 | 68 | jdkResources = append(jdkResources, &resource.OracleResource{ 69 | Component: "java-jdk", 70 | Version: "8", 71 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-windows-x64.exe"}, 72 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 73 | SkipAuth: true, 74 | OS: "windows", 75 | Arch: arch.X64, 76 | Lang: "na", 77 | AcceptCookie: acceptCookie, 78 | }) 79 | 80 | jdkResources = append(jdkResources, &resource.OracleResource{ 81 | Component: "java-jdk", 82 | Version: "8", 83 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-windows-i586.exe"}, 84 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 85 | SkipAuth: true, 86 | OS: "windows", 87 | Arch: arch.X86, 88 | Lang: "na", 89 | AcceptCookie: acceptCookie, 90 | }) 91 | 92 | jdkResources = append(jdkResources, &resource.OracleResource{ 93 | Component: "java-jdk", 94 | Version: "8", 95 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-macosx-x64.dmg"}, 96 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 97 | SkipAuth: true, 98 | OS: "osx", 99 | Arch: arch.X64, 100 | Lang: "na", 101 | AcceptCookie: acceptCookie, 102 | }) 103 | 104 | return jdkResources 105 | } 106 | -------------------------------------------------------------------------------- /resource/java/jre.go: -------------------------------------------------------------------------------- 1 | package java 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetJreResources() []*resource.OracleResource { 11 | 12 | acceptCookie := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-securebackup-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | jreResources := []*resource.OracleResource{} 19 | 20 | jreResources = append(jreResources, &resource.OracleResource{ 21 | Component: "java-jre", 22 | Version: "8", 23 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jre-8u121-linux-x64.rpm"}, 24 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 25 | SkipAuth: true, 26 | OS: "linux-rpm", 27 | Arch: arch.X64, 28 | Lang: "na", 29 | AcceptCookie: acceptCookie, 30 | }) 31 | 32 | jreResources = append(jreResources, &resource.OracleResource{ 33 | Component: "java-jre", 34 | Version: "8", 35 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jre-8u121-linux-x64.tar.gz"}, 36 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 37 | SkipAuth: true, 38 | OS: "linux", 39 | Arch: arch.X64, 40 | Lang: "na", 41 | AcceptCookie: acceptCookie, 42 | }) 43 | 44 | jreResources = append(jreResources, &resource.OracleResource{ 45 | Component: "java-jre", 46 | Version: "8", 47 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jre-8u121-linux-i586.rpm"}, 48 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 49 | SkipAuth: true, 50 | OS: "linux-rpm", 51 | Arch: arch.X86, 52 | Lang: "na", 53 | AcceptCookie: acceptCookie, 54 | }) 55 | 56 | jreResources = append(jreResources, &resource.OracleResource{ 57 | Component: "java-jre", 58 | Version: "8", 59 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jre-8u121-linux-i586.tar.gz"}, 60 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 61 | SkipAuth: true, 62 | OS: "linux", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookie, 66 | }) 67 | 68 | jreResources = append(jreResources, &resource.OracleResource{ 69 | Component: "java-jre", 70 | Version: "8", 71 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jre-8u121-windows-x64.exe"}, 72 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 73 | SkipAuth: true, 74 | OS: "windows", 75 | Arch: arch.X64, 76 | Lang: "na", 77 | AcceptCookie: acceptCookie, 78 | }) 79 | 80 | jreResources = append(jreResources, &resource.OracleResource{ 81 | Component: "java-jre", 82 | Version: "8", 83 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jre-8u121-windows-i586.exe"}, 84 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 85 | SkipAuth: true, 86 | OS: "windows", 87 | Arch: arch.X86, 88 | Lang: "na", 89 | AcceptCookie: acceptCookie, 90 | }) 91 | 92 | jreResources = append(jreResources, &resource.OracleResource{ 93 | Component: "java-jre", 94 | Version: "8", 95 | File: []string{"https://edelivery.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jre-8u121-macosx-x64.dmg"}, 96 | License: "http://www.oracle.com/technetwork/java/javase/terms/license/index.html", 97 | SkipAuth: true, 98 | OS: "osx", 99 | Arch: arch.X64, 100 | Lang: "na", 101 | AcceptCookie: acceptCookie, 102 | }) 103 | 104 | return jreResources 105 | } 106 | -------------------------------------------------------------------------------- /dl/download.go: -------------------------------------------------------------------------------- 1 | package dl 2 | 3 | import ( 4 | "bufio" 5 | "bytes" 6 | "fmt" 7 | "io" 8 | "log" 9 | "net/http" 10 | "net/http/cookiejar" 11 | "net/url" 12 | "os" 13 | "path" 14 | "strings" 15 | "syscall" 16 | 17 | pb "gopkg.in/cheggaaa/pb.v1" 18 | 19 | "golang.org/x/crypto/ssh/terminal" 20 | 21 | "github.com/tschf/odl/resource" 22 | ) 23 | 24 | func checkRedirect(req *http.Request, via []*http.Request) error { 25 | req.Header.Add("User-Agent", "Mozilla/5.0") 26 | 27 | return nil 28 | } 29 | 30 | func getRequest(method string, path string, requestBody url.Values) *http.Request { 31 | req, err := http.NewRequest(method, path, bytes.NewBufferString(requestBody.Encode())) 32 | if err != nil { 33 | log.Fatal(err) 34 | } 35 | req.Header.Add("User-Agent", "Mozilla/5.0") 36 | if method == http.MethodPost { 37 | req.Header.Add("Content-Type", "application/x-www-form-urlencoded") 38 | } 39 | 40 | return req 41 | } 42 | 43 | func getResponse(req *http.Request, httpClient *http.Client) *http.Response { 44 | resp, err := httpClient.Do(req) 45 | if err != nil { 46 | log.Fatal(err) 47 | } 48 | 49 | return resp 50 | } 51 | 52 | func SaveResource(res *resource.OracleResource, otnUser string, otnPassword string, skipExisting bool) { 53 | var cookies []*http.Cookie 54 | var fileResp *http.Response 55 | 56 | cookies = append(cookies, res.AcceptCookie) 57 | 58 | cookieJar, _ := cookiejar.New(nil) 59 | 60 | client := &http.Client{ 61 | // Need to re-add user agent as Go doesn't propagate them 62 | // see: https://groups.google.com/forum/#!topic/golang-nuts/OwGvopYXpwE 63 | // and https://github.com/golang/go/issues/4800 64 | // slated to be fixed in golang 1.8. Done in checkRedirect 65 | CheckRedirect: checkRedirect, 66 | Jar: cookieJar, 67 | } 68 | 69 | // flag to identify if we need to submit username/password data 70 | // to https://login.oracle.com/oam/server/sso/auth_cred_submit. Specifically 71 | // some resources include more than one file (such as Oracle 12c EE). 72 | // In which case, we only need to submit once. 73 | // (todo/test: read response headers to see if auth is required?) 74 | requiresAuth := true 75 | 76 | for _, file := range res.File { 77 | //Check to see if the file we are requesting to download already exists. 78 | //Impl borrowed from: http://stackoverflow.com/questions/12518876/how-to-check-if-a-file-exists-in-go 79 | //err will be nil when getting information about a file that exists 80 | _, fileStatErr := os.Stat(path.Base(file)) 81 | fileExists := fileStatErr == nil 82 | 83 | if fileExists && skipExisting { 84 | continue 85 | } else if fileExists { 86 | // The skip existing flag was unset (false), so prompt user at run time 87 | fmt.Printf("This file already exists. Would you like to overwrite %s?\n", path.Base(file)) 88 | fmt.Print("Enter Y to overwrite, or N to skip: ") 89 | reader := bufio.NewReader(os.Stdin) 90 | strOverwriteFile, _ := reader.ReadString('\n') 91 | if strings.TrimSpace(strOverwriteFile) != "Y" { 92 | continue 93 | } 94 | } 95 | 96 | u, _ := url.Parse(file) 97 | 98 | //Set initial jar with a cookie accepting the license agreement 99 | //Example taken from: https://gist.github.com/Rabbit52/a8a44c3c4cd514052952 100 | cookieJar.SetCookies(u, cookies) 101 | 102 | // Check to see if we are requested a file that requires authentication. 103 | // First, make sure we have access to the users username and password 104 | // and prompt if necessary. 105 | if !res.SkipAuth && requiresAuth { 106 | 107 | if len(otnPassword) == 0 { 108 | fmt.Printf("To complete the license acceptance, you must enter valid OTN credentials. Please enter your OTN password (%s):", otnUser) 109 | consolePass, _ := terminal.ReadPassword(int(syscall.Stdin)) 110 | fmt.Println() 111 | otnPassword = string(consolePass) 112 | } 113 | 114 | fileResp = loginAndGetFile(file, client, otnUser, otnPassword) 115 | defer fileResp.Body.Close() 116 | 117 | requiresAuth = false 118 | } else { 119 | fileReq := getRequest(http.MethodGet, file, nil) 120 | fileResp = getResponse(fileReq, client) 121 | defer fileResp.Body.Close() 122 | } 123 | 124 | requestTotalSize := fileResp.ContentLength 125 | 126 | //Set up progress bar 127 | progressBar := pb.New64(requestTotalSize) 128 | progressBar.SetUnits(pb.U_BYTES) 129 | progressBar.Prefix(fmt.Sprintf("%s:", path.Base(file))) 130 | progressBar.Start() 131 | 132 | readerWithProgress := progressBar.NewProxyReader(fileResp.Body) 133 | savedFile, err := os.Create(path.Base(file)) 134 | defer savedFile.Close() 135 | if err != nil { 136 | log.Fatal(err) 137 | } 138 | _, err = io.Copy(savedFile, readerWithProgress) 139 | if err != nil { 140 | log.Fatal(err) 141 | } 142 | progressBar.Finish() 143 | } 144 | 145 | } 146 | -------------------------------------------------------------------------------- /resource/ords/ords.go: -------------------------------------------------------------------------------- 1 | package ords 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetOrdsResources() []*resource.OracleResource { 11 | 12 | acceptCookie := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-sqldev-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | ordsResources := []*resource.OracleResource{} 19 | 20 | ordsResources = append(ordsResources, &resource.OracleResource{ 21 | Component: "ords", 22 | Version: "3.0.9", 23 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.9.348.07.16.zip"}, 24 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 25 | OS: "na", 26 | Arch: arch.Na, 27 | Lang: "na", 28 | AcceptCookie: acceptCookie, 29 | }) 30 | 31 | ordsResources = append(ordsResources, &resource.OracleResource{ 32 | Component: "ords", 33 | Version: "3.0.8", 34 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.8.277.08.01.zip"}, 35 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 36 | OS: "na", 37 | Arch: arch.Na, 38 | Lang: "na", 39 | AcceptCookie: acceptCookie, 40 | }) 41 | 42 | ordsResources = append(ordsResources, &resource.OracleResource{ 43 | Component: "ords", 44 | Version: "3.0.7", 45 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.7.253.09.40.zip"}, 46 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 47 | OS: "na", 48 | Arch: arch.Na, 49 | Lang: "na", 50 | AcceptCookie: acceptCookie, 51 | }) 52 | 53 | ordsResources = append(ordsResources, &resource.OracleResource{ 54 | Component: "ords", 55 | Version: "3.0.6", 56 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.6.176.08.46.zip"}, 57 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 58 | OS: "na", 59 | Arch: arch.Na, 60 | Lang: "na", 61 | AcceptCookie: acceptCookie, 62 | }) 63 | 64 | ordsResources = append(ordsResources, &resource.OracleResource{ 65 | Component: "ords", 66 | Version: "3.0.5", 67 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.5.124.10.54.zip"}, 68 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 69 | OS: "na", 70 | Arch: arch.Na, 71 | Lang: "na", 72 | AcceptCookie: acceptCookie, 73 | }) 74 | 75 | ordsResources = append(ordsResources, &resource.OracleResource{ 76 | Component: "ords", 77 | Version: "3.0.4", 78 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.4.60.12.48.zip"}, 79 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 80 | OS: "na", 81 | Arch: arch.Na, 82 | Lang: "na", 83 | AcceptCookie: acceptCookie, 84 | }) 85 | 86 | ordsResources = append(ordsResources, &resource.OracleResource{ 87 | Component: "ords", 88 | Version: "3.0.3", 89 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.3.351.13.24.zip"}, 90 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 91 | OS: "na", 92 | Arch: arch.Na, 93 | Lang: "na", 94 | AcceptCookie: acceptCookie, 95 | }) 96 | 97 | ordsResources = append(ordsResources, &resource.OracleResource{ 98 | Component: "ords", 99 | Version: "3.0.2", 100 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.2.294.08.40.zip"}, 101 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 102 | OS: "na", 103 | Arch: arch.Na, 104 | Lang: "na", 105 | AcceptCookie: acceptCookie, 106 | }) 107 | 108 | ordsResources = append(ordsResources, &resource.OracleResource{ 109 | Component: "ords", 110 | Version: "3.0.1", 111 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.1.177.18.02.zip"}, 112 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 113 | OS: "na", 114 | Arch: arch.Na, 115 | Lang: "na", 116 | AcceptCookie: acceptCookie, 117 | }) 118 | 119 | ordsResources = append(ordsResources, &resource.OracleResource{ 120 | Component: "ords", 121 | Version: "3.0", 122 | File: []string{"https://edelivery.oracle.com/akam/otn/java/ords/ords.3.0.0.121.10.23.zip"}, 123 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 124 | OS: "na", 125 | Arch: arch.Na, 126 | Lang: "na", 127 | AcceptCookie: acceptCookie, 128 | }) 129 | 130 | return ordsResources 131 | } 132 | -------------------------------------------------------------------------------- /resource/sqldev/sqldev.go: -------------------------------------------------------------------------------- 1 | package sqldev 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetSqldevResources() []*resource.OracleResource { 11 | 12 | acceptCookie := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-sqldev-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | sqldevResources := []*resource.OracleResource{} 19 | 20 | //17.2 21 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 22 | Component: "sqldev", 23 | Version: "17.2", 24 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-17.2.0.188.1159-1.noarch.rpm"}, 25 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 26 | OS: "linux-rpm", 27 | Arch: arch.Na, 28 | Lang: "na", 29 | AcceptCookie: acceptCookie, 30 | }) 31 | 32 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 33 | Component: "sqldev", 34 | Version: "17.2", 35 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-17.2.0.188.1159-no-jre.zip"}, 36 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 37 | OS: "other", 38 | Arch: arch.Na, 39 | Lang: "na", 40 | AcceptCookie: acceptCookie, 41 | }) 42 | 43 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 44 | Component: "sqldev", 45 | Version: "17.2", 46 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-17.2.0.188.1159-macosx.app.zip"}, 47 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 48 | OS: "osx", 49 | Arch: arch.Na, 50 | Lang: "na", 51 | AcceptCookie: acceptCookie, 52 | }) 53 | 54 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 55 | Component: "sqldev", 56 | Version: "17.2", 57 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-17.2.0.188.1159-no-jre.zip"}, 58 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 59 | OS: "windows", 60 | Arch: arch.Na, 61 | Lang: "na", 62 | AcceptCookie: acceptCookie, 63 | }) 64 | 65 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 66 | Component: "sqldev-jdk", 67 | Version: "17.2", 68 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-17.2.0.188.1159-x64.zip"}, 69 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 70 | OS: "windows", 71 | Arch: arch.X64, 72 | Lang: "na", 73 | AcceptCookie: acceptCookie, 74 | }) 75 | 76 | //4.2 77 | 78 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 79 | Component: "sqldev", 80 | Version: "4.2", 81 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.2.0.17.089.1709-1.noarch.rpm"}, 82 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 83 | OS: "linux-rpm", 84 | Arch: arch.Na, 85 | Lang: "na", 86 | AcceptCookie: acceptCookie, 87 | }) 88 | 89 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 90 | Component: "sqldev", 91 | Version: "4.2", 92 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.2.0.17.089.1709-no-jre.zip"}, 93 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 94 | OS: "other", 95 | Arch: arch.Na, 96 | Lang: "na", 97 | AcceptCookie: acceptCookie, 98 | }) 99 | 100 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 101 | Component: "sqldev", 102 | Version: "4.2", 103 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.2.0.17.089.1709-macosx.app.zip"}, 104 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 105 | OS: "osx", 106 | Arch: arch.Na, 107 | Lang: "na", 108 | AcceptCookie: acceptCookie, 109 | }) 110 | 111 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 112 | Component: "sqldev", 113 | Version: "4.2", 114 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.2.0.17.089.1709-no-jre.zip"}, 115 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 116 | OS: "windows", 117 | Arch: arch.Na, 118 | Lang: "na", 119 | AcceptCookie: acceptCookie, 120 | }) 121 | 122 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 123 | Component: "sqldev-jdk", 124 | Version: "4.2", 125 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.2.0.17.089.1709-x64.zip"}, 126 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 127 | OS: "windows", 128 | Arch: arch.X64, 129 | Lang: "na", 130 | AcceptCookie: acceptCookie, 131 | }) 132 | 133 | //4.1 134 | 135 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 136 | Component: "sqldev", 137 | Version: "4.1", 138 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.1.5.21.78-1.noarch.rpm"}, 139 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 140 | OS: "linux-rpm", 141 | Arch: arch.Na, 142 | Lang: "na", 143 | AcceptCookie: acceptCookie, 144 | }) 145 | 146 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 147 | Component: "sqldev", 148 | Version: "4.1", 149 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.1.5.21.78-no-jre.zip"}, 150 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 151 | OS: "other", 152 | Arch: arch.Na, 153 | Lang: "na", 154 | AcceptCookie: acceptCookie, 155 | }) 156 | 157 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 158 | Component: "sqldev", 159 | Version: "4.1", 160 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.1.5.21.78-macosx.app.zip"}, 161 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 162 | OS: "osx", 163 | Arch: arch.Na, 164 | Lang: "na", 165 | AcceptCookie: acceptCookie, 166 | }) 167 | 168 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 169 | Component: "sqldev", 170 | Version: "4.1", 171 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.1.5.21.78-no-jre.zip"}, 172 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 173 | OS: "windows", 174 | Arch: arch.Na, 175 | Lang: "na", 176 | AcceptCookie: acceptCookie, 177 | }) 178 | 179 | sqldevResources = append(sqldevResources, &resource.OracleResource{ 180 | Component: "sqldev-jdk", 181 | Version: "4.1", 182 | File: []string{"https://edelivery.oracle.com/akam/otn/java/sqldeveloper/sqldeveloper-4.1.5.21.78-x64.zip"}, 183 | License: "http://www.oracle.com/technetwork/licenses/sqldev-license-152021.html", 184 | OS: "windows", 185 | Arch: arch.X64, 186 | Lang: "na", 187 | AcceptCookie: acceptCookie, 188 | }) 189 | 190 | return sqldevResources 191 | } 192 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # odl (Oracle Download Utility) 2 | 3 | **Program Status:** Working, but Oracle SSO had a couple of changes in the last few weeks. Monitoring. See issue #28 4 | 5 | [![build status](https://travis-ci.org/tschf/odl.svg?branch=master)](https://travis-ci.org/tschf/odl) 6 | 7 | Automating tests can be a pain, I'm hoping this utility will provide developers with a quick and easy way to fetch Oracle media files. 8 | 9 | The goal isn't to bypass the OTN license agreement, or not to log in - the download will not work if you do not provide valid OTN authentication credentials. There are two mechanisms for the username. Pass in the flag: -username <username> to the program; set an environment variable, `OTN_USERNAME`. The password has three mechanisms. Pass in the flag -password; set an environment variable, `OTN_PASSWORD`; Enter the password at run time, when prompted. 10 | 11 | ## Install 12 | 13 | To grab the latest build, assuming you have `golang` installed, run: 14 | 15 | ``` 16 | go get github.com/tschf/odl 17 | ``` 18 | 19 | Then, so long as `$GOPATH/bin` is in your PATH, you should be able to run `odl`. 20 | 21 | Or, grab the latest release: [https://github.com/tschf/odl/releases](https://github.com/tschf/odl/releases), which includes binaries for OSX, Windows and Linux, for 32 and 64-bit architecture's. Note, the compiled binaries may not include the latest features from source. 22 | 23 | ## Supported software 24 | 25 | | Component | Version | OS | Arch | Lang | 26 | | --- | --- | --- | --- | --- | 27 | | apex | 4.2 - 5.1 | na | na | na,en | 28 | | db | 11gXE | windows | x64 | na | 29 | | db | 11gXE | linux | x86,x64 | na | 30 | | db | 12.1.0.2.0EE | linux,windows | x64 | na | 31 | | db | 12.1.0.2.0SE2 | linux,windows | x64 | na | 32 | | db | 12.2.0.1.0 | linux | x64 | na | 33 | | instantclient-basic | 12.2.0.1.0 | linux,linux-rpm,windows | x64,x86 | na | 34 | | instantclient-basic | 12.1.0.2.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 35 | | instantclient-basic | 11.2.0.4.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 36 | | instantclient-basic | 11.1.0.7.0 | linux,linux-rpm,windows | x64,x86 | na | 37 | | instantclient-basic-lite | 12.2.0.1.0 | linux,linux-rpm,windows | x64,x86 | na | 38 | | instantclient-basic-lite | 12.1.0.2.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 39 | | instantclient-basic-lite | 11.2.0.4.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 40 | | instantclient-basic-lite | 11.1.0.7.0 | linux,linux-rpm,windows | x64,x86 | na | 41 | | instantclient-jdbc | 12.2.0.1.0 | linux,linux-rpm,windows | x64,x86 | na | 42 | | instantclient-jdbc | 12.1.0.2.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 43 | | instantclient-jdbc | 11.2.0.4.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 44 | | instantclient-jdbc | 11.1.0.7.0 | linux,linux-rpm,windows | x64,x86 | na | 45 | | instantclient-odbc | 12.2.0.1.0 | linux,linux-rpm,windows | x64,x86 | na | 46 | | instantclient-odbc | 12.1.0.2.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 47 | | instantclient-odbc | 11.2.0.4.0 | linux,linux-rpm,windows | x64,x86 | na | 48 | | instantclient-odbc | 11.1.0.7.0 | linux,linux-rpm,windows | x64,x86 | na | 49 | | instantclient-precompiler | 12.2.0.1.0 | linux,linux-rpm,windows | x64,x86 | na | 50 | | instantclient-precompiler | 12.1.0.2.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 51 | | instantclient-precompiler | 11.2.0.4.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 52 | | instantclient-sdk | 12.2.0.1.0 | linux,linux-rpm,windows | x64,x86 | na | 53 | | instantclient-sdk | 12.1.0.2.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 54 | | instantclient-sdk | 11.2.0.4.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 55 | | instantclient-sdk | 11.1.0.7.0 | linux,linux-rpm,windows | x64,x86 | na | 56 | | instantclient-sqlplus | 12.2.0.1.0 | linux,linux-rpm,windows | x64,x86 | na | 57 | | instantclient-sqlplus | 12.1.0.2.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 58 | | instantclient-sqlplus | 11.2.0.4.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 59 | | instantclient-sqlplus | 11.1.0.7.0 | linux,linux-rpm,windows | x64,x86 | na | 60 | | instantclient-wrc | 12.2.0.1.0 | linux,linux-rpm,windows | x64,x86 | na | 61 | | instantclient-wrc | 12.1.0.2.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 62 | | instantclient-wrc | 11.2.0.4.0 | linux,linux-rpm,windows,osx | x64,x86 | na | 63 | | instantclient-wrc | 11.1.0.7.0 | linux,linux-rpm,windows | x64,x86 | na | 64 | | java-jdk | 8 | linux,windows | x64,x86 | na | 65 | | java-jdk | 8 | osx | x64 | na | 66 | | java-jre | 8 | linux,windows | x64,x86 | na | 67 | | java-jre | 8 | osx | x64 | na | 68 | | ords | 3.0 - 3.0.9 | na | na | na | 69 | | sqlcl | 17.2 | na | na | na | 70 | | sqlcl | 4.2 | na | na | na | 71 | | sqldev | 4.1 | linux,windows,osx | na | na | 72 | | sqldev-jdk | 4.1 | windows | x64 | na | 73 | | sqldev | 4.2 | linux,windows,osx | na | na | 74 | | sqldev-jdk | 4.2 | windows | x64 | na | 75 | 76 | ## Usage 77 | 78 | Each column in the table above represents an argument. e.g. to download Oracle 11gXE, you would run: 79 | 80 | ```bash 81 | odl --component db --version 11gXE --os linux --arch x64 82 | ``` 83 | 84 | notes: 85 | 86 | * Instant client 11.1.0.7.0 not available for OS X 87 | * No ODBC for 11.2.0.4.0 on OS X 88 | * No ODBC for Linux x64 on 11.1.0.7.0 89 | * No JDK/JRE for OSX 32-bit 90 | 91 | ```bash 92 | trent@birroth:/tmp/xe$ odl --help 93 | Usage of odl: 94 | -accept-license 95 | Specify whether or not you accept the OTN license agreement for the nominated software. 96 | -arch value 97 | Specify the desired architecture of the software. Should be "x86", "x64", or "na" (default na) 98 | -component string 99 | Specify the component to grab. 100 | -lang string 101 | Specify the language of the software. Should be "en" or "na" (default "na") 102 | -os string 103 | Specify the desired platform of the software. Should be "linux" or "windows" (default "linux") 104 | -password string 105 | Specify the password that corresponds to your OTN account. Alternatively, set the environment variable OTN_PASSWORD. 106 | -username string 107 | Specify the user account that will be logging in and accepting the license agreement. Alternatively, set the environment variable OTN_USERNAME. 108 | -version string 109 | Specify the software version. 110 | trent@birroth:/tmp/xe$ odl --component db --os linux --version 11gXE --arch x64 --accept-license 111 | Beginning download process for db 11gXE 112 | oracle-xe-11.2.0-1.0.x86_64.rpm.zip: 301.26 MB / 301.26 MB [==============================] 100.00% 5m30s 113 | Download complete. 114 | ``` 115 | 116 | ## Installing golang on Linux 117 | 118 | To install golang as part of your build process you can use the following snippet: 119 | ```bash 120 | #!/bin/bash 121 | set -ev 122 | 123 | GO_FILE=go1.8.3.linux-amd64.tar.gz 124 | 125 | # https://golang.org/doc/install 126 | curl -O "https://storage.googleapis.com/golang/${GO_FILE}" 127 | sudo tar -C /usr/local -xzf ${GO_FILE} 128 | rm ${GO_FILE} 129 | export GOPATH=$HOME/go 130 | export PATH=$PATH:/usr/local/go/bin 131 | export PATH=$PATH:${GOPATH}/bin 132 | ``` 133 | -------------------------------------------------------------------------------- /resource/instantclient/precompiler.go: -------------------------------------------------------------------------------- 1 | package instantclient 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetIcPrecompilerResources() []*resource.OracleResource { 11 | 12 | acceptCookieIcWinx64 := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-ic_winx8664-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | acceptCookieIcLinuxx64 := &http.Cookie{ 19 | Name: "oraclelicense", 20 | Value: "accept-ic_linuxx8664-cookie", 21 | Domain: ".oracle.com", 22 | } 23 | 24 | acceptCookieIcLinuxx86 := &http.Cookie{ 25 | Name: "oraclelicense", 26 | Value: "accept-ic_linux32-cookie", 27 | Domain: ".oracle.com", 28 | } 29 | 30 | acceptCookieIcWinx86 := &http.Cookie{ 31 | Name: "oraclelicense", 32 | Value: "accept-ic_win32-cookie", 33 | Domain: ".oracle.com", 34 | } 35 | 36 | acceptCookieIcOSX := &http.Cookie{ 37 | Name: "oraclelicense", 38 | Value: "accept-ic_solarisx8664-cookie", 39 | Domain: ".oracle.com", 40 | } 41 | 42 | PrecompilerResources := []*resource.OracleResource{} 43 | 44 | // 12.2.0.1.0 45 | 46 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 47 | Component: "instantclient-precompiler", 48 | Version: "12.2.0.1.0", 49 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-precomp-windows.x64-12.2.0.1.0.zip"}, 50 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 51 | OS: "windows", 52 | Arch: arch.X64, 53 | Lang: "na", 54 | AcceptCookie: acceptCookieIcWinx64, 55 | }) 56 | 57 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 58 | Component: "instantclient-precompiler", 59 | Version: "12.2.0.1.0", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-precomp-nt-12.2.0.1.0.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 62 | OS: "windows", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookieIcWinx86, 66 | }) 67 | 68 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 69 | Component: "instantclient-precompiler", 70 | Version: "12.2.0.1.0", 71 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-precomp-12.2.0.1.0-1.x86_64.rpm"}, 72 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 73 | OS: "linux-rpm", 74 | Arch: arch.X64, 75 | Lang: "na", 76 | AcceptCookie: acceptCookieIcLinuxx64, 77 | }) 78 | 79 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 80 | Component: "instantclient-precompiler", 81 | Version: "12.2.0.1.0", 82 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-precomp-12.2.0.1.0-1.i386.rpm"}, 83 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 84 | OS: "linux-rpm", 85 | Arch: arch.X86, 86 | Lang: "na", 87 | AcceptCookie: acceptCookieIcLinuxx86, 88 | }) 89 | 90 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 91 | Component: "instantclient-precompiler", 92 | Version: "12.2.0.1.0", 93 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-precomp-linux-12.2.0.1.0.zip"}, 94 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 95 | OS: "linux", 96 | Arch: arch.X86, 97 | Lang: "na", 98 | AcceptCookie: acceptCookieIcLinuxx86, 99 | }) 100 | 101 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 102 | Component: "instantclient-precompiler", 103 | Version: "12.2.0.1.0", 104 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-precomp-linux.x64-12.2.0.1.0.zip"}, 105 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 106 | OS: "linux", 107 | Arch: arch.X64, 108 | Lang: "na", 109 | AcceptCookie: acceptCookieIcLinuxx64, 110 | }) 111 | 112 | // 12.1.0.2.0 113 | 114 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 115 | Component: "instantclient-precompiler", 116 | Version: "12.1.0.2.0", 117 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-precomp-windows.x64-12.1.0.2.0.zip"}, 118 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 119 | OS: "windows", 120 | Arch: arch.X64, 121 | Lang: "na", 122 | AcceptCookie: acceptCookieIcWinx64, 123 | }) 124 | 125 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 126 | Component: "instantclient-precompiler", 127 | Version: "12.1.0.2.0", 128 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-precomp-nt-12.1.0.2.0.zip"}, 129 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 130 | OS: "windows", 131 | Arch: arch.X86, 132 | Lang: "na", 133 | AcceptCookie: acceptCookieIcWinx86, 134 | }) 135 | 136 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 137 | Component: "instantclient-precompiler", 138 | Version: "12.1.0.2.0", 139 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-precomp-12.1.0.2.0-1.x86_64.rpm"}, 140 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 141 | OS: "linux-rpm", 142 | Arch: arch.X64, 143 | Lang: "na", 144 | AcceptCookie: acceptCookieIcLinuxx64, 145 | }) 146 | 147 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 148 | Component: "instantclient-precompiler", 149 | Version: "12.1.0.2.0", 150 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-precomp-12.1.0.2.0-1.i386.rpm"}, 151 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 152 | OS: "linux-rpm", 153 | Arch: arch.X86, 154 | Lang: "na", 155 | AcceptCookie: acceptCookieIcLinuxx86, 156 | }) 157 | 158 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 159 | Component: "instantclient-precompiler", 160 | Version: "12.1.0.2.0", 161 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-precomp-linux-12.1.0.2.0.zip"}, 162 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 163 | OS: "linux", 164 | Arch: arch.X86, 165 | Lang: "na", 166 | AcceptCookie: acceptCookieIcLinuxx86, 167 | }) 168 | 169 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 170 | Component: "instantclient-precompiler", 171 | Version: "12.1.0.2.0", 172 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-precomp-linux.x64-12.1.0.2.0.zip"}, 173 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 174 | OS: "linux", 175 | Arch: arch.X64, 176 | Lang: "na", 177 | AcceptCookie: acceptCookieIcLinuxx64, 178 | }) 179 | 180 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 181 | Component: "instantclient-precompiler", 182 | Version: "12.1.0.2.0", 183 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-precomp-macos.x64-12.1.0.2.0.zip"}, 184 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 185 | OS: "osx", 186 | Arch: arch.X64, 187 | Lang: "na", 188 | AcceptCookie: acceptCookieIcOSX, 189 | }) 190 | 191 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 192 | Component: "instantclient-precompiler", 193 | Version: "12.1.0.2.0", 194 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-precomp-macos.x32-12.1.0.2.0.zip"}, 195 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 196 | OS: "osx", 197 | Arch: arch.X86, 198 | Lang: "na", 199 | AcceptCookie: acceptCookieIcOSX, 200 | }) 201 | 202 | // 11.2.0.4.0 203 | 204 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 205 | Component: "instantclient-precompiler", 206 | Version: "11.2.0.4.0", 207 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-precomp-windows.x64-11.2.0.4.0.zip"}, 208 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 209 | OS: "windows", 210 | Arch: arch.X64, 211 | Lang: "na", 212 | AcceptCookie: acceptCookieIcWinx64, 213 | }) 214 | 215 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 216 | Component: "instantclient-precompiler", 217 | Version: "11.2.0.4.0", 218 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-precomp-nt-11.2.0.4.0.zip"}, 219 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 220 | OS: "windows", 221 | Arch: arch.X86, 222 | Lang: "na", 223 | AcceptCookie: acceptCookieIcWinx86, 224 | }) 225 | 226 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 227 | Component: "instantclient-precompiler", 228 | Version: "11.2.0.4.0", 229 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm"}, 230 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 231 | OS: "linux-rpm", 232 | Arch: arch.X64, 233 | Lang: "na", 234 | AcceptCookie: acceptCookieIcLinuxx64, 235 | }) 236 | 237 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 238 | Component: "instantclient-precompiler", 239 | Version: "11.2.0.4.0", 240 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-precomp-linux.x64-11.2.0.4.0.zip"}, 241 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 242 | OS: "linux", 243 | Arch: arch.X64, 244 | Lang: "na", 245 | AcceptCookie: acceptCookieIcLinuxx64, 246 | }) 247 | 248 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 249 | Component: "instantclient-precompiler", 250 | Version: "11.2.0.4.0", 251 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-precomp-11.2.0.4.0-1.i386.rpm"}, 252 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 253 | OS: "linux-rpm", 254 | Arch: arch.X86, 255 | Lang: "na", 256 | AcceptCookie: acceptCookieIcLinuxx64, 257 | }) 258 | 259 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 260 | Component: "instantclient-precompiler", 261 | Version: "11.2.0.4.0", 262 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-precomp-linux-11.2.0.4.0.zip"}, 263 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 264 | OS: "linux", 265 | Arch: arch.X86, 266 | Lang: "na", 267 | AcceptCookie: acceptCookieIcLinuxx64, 268 | }) 269 | 270 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 271 | Component: "instantclient-precompiler", 272 | Version: "11.2.0.4.0", 273 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-precomp-macos.x64-11.2.0.4.0.zip"}, 274 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 275 | OS: "osx", 276 | Arch: arch.X64, 277 | Lang: "na", 278 | AcceptCookie: acceptCookieIcOSX, 279 | }) 280 | 281 | PrecompilerResources = append(PrecompilerResources, &resource.OracleResource{ 282 | Component: "instantclient-precompiler", 283 | Version: "11.2.0.4.0", 284 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-precomp-macos.x32-11.2.0.4.0.zip"}, 285 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 286 | OS: "osx", 287 | Arch: arch.X86, 288 | Lang: "na", 289 | AcceptCookie: acceptCookieIcOSX, 290 | }) 291 | 292 | return PrecompilerResources 293 | } 294 | -------------------------------------------------------------------------------- /resource/instantclient/odbc.go: -------------------------------------------------------------------------------- 1 | package instantclient 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetIcODBCResources() []*resource.OracleResource { 11 | 12 | acceptCookieIcWinx64 := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-ic_winx8664-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | acceptCookieIcLinuxx64 := &http.Cookie{ 19 | Name: "oraclelicense", 20 | Value: "accept-ic_linuxx8664-cookie", 21 | Domain: ".oracle.com", 22 | } 23 | 24 | acceptCookieIcLinuxx86 := &http.Cookie{ 25 | Name: "oraclelicense", 26 | Value: "accept-ic_linux32-cookie", 27 | Domain: ".oracle.com", 28 | } 29 | 30 | acceptCookieIcWinx86 := &http.Cookie{ 31 | Name: "oraclelicense", 32 | Value: "accept-ic_win32-cookie", 33 | Domain: ".oracle.com", 34 | } 35 | 36 | acceptCookieIcOSX := &http.Cookie{ 37 | Name: "oraclelicense", 38 | Value: "accept-ic_solarisx8664-cookie", 39 | Domain: ".oracle.com", 40 | } 41 | 42 | OdbcResources := []*resource.OracleResource{} 43 | 44 | // 12.2.0.1.0 45 | 46 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 47 | Component: "instantclient-odbc", 48 | Version: "12.2.0.1.0", 49 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-odbc-windows.x64-12.2.0.1.0.zip"}, 50 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 51 | OS: "windows", 52 | Arch: arch.X64, 53 | Lang: "na", 54 | AcceptCookie: acceptCookieIcWinx64, 55 | }) 56 | 57 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 58 | Component: "instantclient-odbc", 59 | Version: "12.2.0.1.0", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-odbc-nt-12.2.0.1.0.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 62 | OS: "windows", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookieIcWinx86, 66 | }) 67 | 68 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 69 | Component: "instantclient-odbc", 70 | Version: "12.2.0.1.0", 71 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86_64.rpm"}, 72 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 73 | OS: "linux-rpm", 74 | Arch: arch.X64, 75 | Lang: "na", 76 | AcceptCookie: acceptCookieIcLinuxx64, 77 | }) 78 | 79 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 80 | Component: "instantclient-odbc", 81 | Version: "12.2.0.1.0", 82 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-odbc-12.2.0.1.0-1.i386.rpm"}, 83 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 84 | OS: "linux-rpm", 85 | Arch: arch.X86, 86 | Lang: "na", 87 | AcceptCookie: acceptCookieIcLinuxx86, 88 | }) 89 | 90 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 91 | Component: "instantclient-odbc", 92 | Version: "12.2.0.1.0", 93 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-odbc-linux-12.2.0.1.0.zip"}, 94 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 95 | OS: "linux", 96 | Arch: arch.X86, 97 | Lang: "na", 98 | AcceptCookie: acceptCookieIcLinuxx86, 99 | }) 100 | 101 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 102 | Component: "instantclient-odbc", 103 | Version: "12.2.0.1.0", 104 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-odbc-linux.x64-12.2.0.1.0.zip"}, 105 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 106 | OS: "linux", 107 | Arch: arch.X64, 108 | Lang: "na", 109 | AcceptCookie: acceptCookieIcLinuxx64, 110 | }) 111 | 112 | // OdbcResources = append(OdbcResources, &resource.OracleResource{ 113 | // Component: "instantclient-odbc", 114 | // Version: "12.2.0.1.0", 115 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-odbc-macos.x64-12.2.0.1.0.zip"}, 116 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 117 | // OS: "osx", 118 | // Arch: arch.X64, 119 | // Lang: "na", 120 | // AcceptCookie: acceptCookieIcOSX, 121 | // }) 122 | 123 | // 124 | // OdbcResources = append(OdbcResources, &resource.OracleResource{ 125 | // Component: "instantclient-odbc", 126 | // Version: "12.2.0.1.0", 127 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-odbc-macos.x32-12.2.0.1.0.zip"}, 128 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 129 | // OS: "osx", 130 | // Arch: arch.X86, 131 | // Lang: "na", 132 | // AcceptCookie: acceptCookieIcOSX, 133 | // }) 134 | 135 | // 12.1.0.2.0 136 | 137 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 138 | Component: "instantclient-odbc", 139 | Version: "12.1.0.2.0", 140 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-odbc-windows.x64-12.1.0.2.0.zip"}, 141 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 142 | OS: "windows", 143 | Arch: arch.X64, 144 | Lang: "na", 145 | AcceptCookie: acceptCookieIcWinx64, 146 | }) 147 | 148 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 149 | Component: "instantclient-odbc", 150 | Version: "12.1.0.2.0", 151 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-odbc-nt-12.1.0.2.0.zip"}, 152 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 153 | OS: "windows", 154 | Arch: arch.X86, 155 | Lang: "na", 156 | AcceptCookie: acceptCookieIcWinx86, 157 | }) 158 | 159 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 160 | Component: "instantclient-odbc", 161 | Version: "12.1.0.2.0", 162 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm"}, 163 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 164 | OS: "linux-rpm", 165 | Arch: arch.X64, 166 | Lang: "na", 167 | AcceptCookie: acceptCookieIcLinuxx64, 168 | }) 169 | 170 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 171 | Component: "instantclient-odbc", 172 | Version: "12.1.0.2.0", 173 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-odbc-12.1.0.2.0-1.i386.rpm"}, 174 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 175 | OS: "linux-rpm", 176 | Arch: arch.X86, 177 | Lang: "na", 178 | AcceptCookie: acceptCookieIcLinuxx86, 179 | }) 180 | 181 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 182 | Component: "instantclient-odbc", 183 | Version: "12.1.0.2.0", 184 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-odbc-linux-12.1.0.2.0.zip"}, 185 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 186 | OS: "linux", 187 | Arch: arch.X86, 188 | Lang: "na", 189 | AcceptCookie: acceptCookieIcLinuxx86, 190 | }) 191 | 192 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 193 | Component: "instantclient-odbc", 194 | Version: "12.1.0.2.0", 195 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-odbc-linux.x64-12.1.0.2.0.zip"}, 196 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 197 | OS: "linux", 198 | Arch: arch.X64, 199 | Lang: "na", 200 | AcceptCookie: acceptCookieIcLinuxx64, 201 | }) 202 | 203 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 204 | Component: "instantclient-odbc", 205 | Version: "12.1.0.2.0", 206 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-odbc-macos.x64-12.1.0.2.0.zip"}, 207 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 208 | OS: "osx", 209 | Arch: arch.X64, 210 | Lang: "na", 211 | AcceptCookie: acceptCookieIcOSX, 212 | }) 213 | 214 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 215 | Component: "instantclient-odbc", 216 | Version: "12.1.0.2.0", 217 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-odbc-nt-12.1.0.2.0.zip"}, 218 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 219 | OS: "windows", 220 | Arch: arch.X86, 221 | Lang: "na", 222 | AcceptCookie: acceptCookieIcWinx86, 223 | }) 224 | 225 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 226 | Component: "instantclient-odbc", 227 | Version: "12.1.0.2.0", 228 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-odbc-macos.x32-12.1.0.2.0.zip"}, 229 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 230 | OS: "osx", 231 | Arch: arch.X86, 232 | Lang: "na", 233 | AcceptCookie: acceptCookieIcOSX, 234 | }) 235 | 236 | // 11.2.0.4.0 237 | 238 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 239 | Component: "instantclient-odbc", 240 | Version: "11.2.0.4.0", 241 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-odbc-windows.x64-11.2.0.4.0.zip"}, 242 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 243 | OS: "windows", 244 | Arch: arch.X64, 245 | Lang: "na", 246 | AcceptCookie: acceptCookieIcWinx64, 247 | }) 248 | 249 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 250 | Component: "instantclient-odbc", 251 | Version: "11.2.0.4.0", 252 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm"}, 253 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 254 | OS: "linux-rpm", 255 | Arch: arch.X64, 256 | Lang: "na", 257 | AcceptCookie: acceptCookieIcLinuxx64, 258 | }) 259 | 260 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 261 | Component: "instantclient-odbc", 262 | Version: "11.2.0.4.0", 263 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-odbc-linux.x64-11.2.0.4.0.zip"}, 264 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 265 | OS: "linux", 266 | Arch: arch.X64, 267 | Lang: "na", 268 | AcceptCookie: acceptCookieIcLinuxx64, 269 | }) 270 | 271 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 272 | Component: "instantclient-odbc", 273 | Version: "11.2.0.4.0", 274 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-odbc-11.2.0.4.0-1.i386.rpm"}, 275 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 276 | OS: "linux-rpm", 277 | Arch: arch.X86, 278 | Lang: "na", 279 | AcceptCookie: acceptCookieIcLinuxx64, 280 | }) 281 | 282 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 283 | Component: "instantclient-odbc", 284 | Version: "11.2.0.4.0", 285 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-odbc-linux-11.2.0.4.0.zip"}, 286 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 287 | OS: "linux", 288 | Arch: arch.X86, 289 | Lang: "na", 290 | AcceptCookie: acceptCookieIcLinuxx64, 291 | }) 292 | 293 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 294 | Component: "instantclient-odbc", 295 | Version: "11.2.0.4.0", 296 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-odbc-nt-11.2.0.4.0.zip"}, 297 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 298 | OS: "windows", 299 | Arch: arch.X86, 300 | Lang: "na", 301 | AcceptCookie: acceptCookieIcWinx86, 302 | }) 303 | 304 | // 11.1.0.7.0 305 | 306 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 307 | Component: "instantclient-odbc", 308 | Version: "11.1.0.7.0", 309 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-odbc-win-x86-64-11.1.0.7.0.zip"}, 310 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 311 | OS: "windows", 312 | Arch: arch.X64, 313 | Lang: "na", 314 | AcceptCookie: acceptCookieIcWinx64, 315 | }) 316 | 317 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 318 | Component: "instantclient-odbc", 319 | Version: "11.1.0.7.0", 320 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-odbc-win32-11.1.0.7.0.zip"}, 321 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 322 | OS: "windows", 323 | Arch: arch.X86, 324 | Lang: "na", 325 | AcceptCookie: acceptCookieIcWinx86, 326 | }) 327 | 328 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 329 | Component: "instantclient-odbc", 330 | Version: "11.1.0.7.0", 331 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-odbc-11.1.0.7.0-1.i386.rpm"}, 332 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 333 | OS: "linux-rpm", 334 | Arch: arch.X86, 335 | Lang: "na", 336 | AcceptCookie: acceptCookieIcLinuxx64, 337 | }) 338 | 339 | OdbcResources = append(OdbcResources, &resource.OracleResource{ 340 | Component: "instantclient-odbc", 341 | Version: "11.1.0.7.0", 342 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/instantclient-odbc-linux32-11.1.0.7.zip"}, 343 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 344 | OS: "linux", 345 | Arch: arch.X86, 346 | Lang: "na", 347 | AcceptCookie: acceptCookieIcLinuxx64, 348 | }) 349 | 350 | return OdbcResources 351 | } 352 | -------------------------------------------------------------------------------- /resource/instantclient/sdk.go: -------------------------------------------------------------------------------- 1 | package instantclient 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetIcSdkResources() []*resource.OracleResource { 11 | 12 | acceptCookieIcWinx64 := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-ic_winx8664-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | acceptCookieIcLinuxx64 := &http.Cookie{ 19 | Name: "oraclelicense", 20 | Value: "accept-ic_linuxx8664-cookie", 21 | Domain: ".oracle.com", 22 | } 23 | 24 | acceptCookieIcLinuxx86 := &http.Cookie{ 25 | Name: "oraclelicense", 26 | Value: "accept-ic_linux32-cookie", 27 | Domain: ".oracle.com", 28 | } 29 | 30 | acceptCookieIcWinx86 := &http.Cookie{ 31 | Name: "oraclelicense", 32 | Value: "accept-ic_win32-cookie", 33 | Domain: ".oracle.com", 34 | } 35 | 36 | acceptCookieIcOSX := &http.Cookie{ 37 | Name: "oraclelicense", 38 | Value: "accept-ic_solarisx8664-cookie", 39 | Domain: ".oracle.com", 40 | } 41 | 42 | SdkResources := []*resource.OracleResource{} 43 | 44 | // 12.2.0.1.0 45 | 46 | SdkResources = append(SdkResources, &resource.OracleResource{ 47 | Component: "instantclient-sdk", 48 | Version: "12.2.0.1.0", 49 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-sdk-windows.x64-12.2.0.1.0.zip"}, 50 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 51 | OS: "windows", 52 | Arch: arch.X64, 53 | Lang: "na", 54 | AcceptCookie: acceptCookieIcWinx64, 55 | }) 56 | 57 | SdkResources = append(SdkResources, &resource.OracleResource{ 58 | Component: "instantclient-sdk", 59 | Version: "12.2.0.1.0", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-sdk-nt-12.2.0.1.0.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 62 | OS: "windows", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookieIcWinx86, 66 | }) 67 | 68 | SdkResources = append(SdkResources, &resource.OracleResource{ 69 | Component: "instantclient-sdk", 70 | Version: "12.2.0.1.0", 71 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm"}, 72 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 73 | OS: "linux-rpm", 74 | Arch: arch.X64, 75 | Lang: "na", 76 | AcceptCookie: acceptCookieIcLinuxx64, 77 | }) 78 | 79 | SdkResources = append(SdkResources, &resource.OracleResource{ 80 | Component: "instantclient-sdk", 81 | Version: "12.2.0.1.0", 82 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-devel-12.2.0.1.0-1.i386.rpm"}, 83 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 84 | OS: "linux-rpm", 85 | Arch: arch.X86, 86 | Lang: "na", 87 | AcceptCookie: acceptCookieIcLinuxx86, 88 | }) 89 | 90 | SdkResources = append(SdkResources, &resource.OracleResource{ 91 | Component: "instantclient-sdk", 92 | Version: "12.2.0.1.0", 93 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-sdk-linux-12.2.0.1.0.zip"}, 94 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 95 | OS: "linux", 96 | Arch: arch.X86, 97 | Lang: "na", 98 | AcceptCookie: acceptCookieIcLinuxx86, 99 | }) 100 | 101 | SdkResources = append(SdkResources, &resource.OracleResource{ 102 | Component: "instantclient-sdk", 103 | Version: "12.2.0.1.0", 104 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-sdk-linux.x64-12.2.0.1.0.zip"}, 105 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 106 | OS: "linux", 107 | Arch: arch.X64, 108 | Lang: "na", 109 | AcceptCookie: acceptCookieIcLinuxx64, 110 | }) 111 | 112 | // SdkResources = append(SdkResources, &resource.OracleResource{ 113 | // Component: "instantclient-sdk", 114 | // Version: "12.2.0.1.0", 115 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-sdk-macos.x64-12.2.0.1.0.zip"}, 116 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 117 | // OS: "osx", 118 | // Arch: arch.X64, 119 | // Lang: "na", 120 | // AcceptCookie: acceptCookieIcOSX, 121 | // }) 122 | // 123 | // SdkResources = append(SdkResources, &resource.OracleResource{ 124 | // Component: "instantclient-sdk", 125 | // Version: "12.2.0.1.0", 126 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-sdk-macos.x32-12.2.0.1.0.zip"}, 127 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 128 | // OS: "osx", 129 | // Arch: arch.X86, 130 | // Lang: "na", 131 | // AcceptCookie: acceptCookieIcOSX, 132 | // }) 133 | 134 | // 12.1.0.2.0 135 | 136 | SdkResources = append(SdkResources, &resource.OracleResource{ 137 | Component: "instantclient-sdk", 138 | Version: "12.1.0.2.0", 139 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-sdk-windows.x64-12.1.0.2.0.zip"}, 140 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 141 | OS: "windows", 142 | Arch: arch.X64, 143 | Lang: "na", 144 | AcceptCookie: acceptCookieIcWinx64, 145 | }) 146 | 147 | SdkResources = append(SdkResources, &resource.OracleResource{ 148 | Component: "instantclient-sdk", 149 | Version: "12.1.0.2.0", 150 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-sdk-nt-12.1.0.2.0.zip"}, 151 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 152 | OS: "windows", 153 | Arch: arch.X86, 154 | Lang: "na", 155 | AcceptCookie: acceptCookieIcWinx86, 156 | }) 157 | 158 | SdkResources = append(SdkResources, &resource.OracleResource{ 159 | Component: "instantclient-sdk", 160 | Version: "12.1.0.2.0", 161 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm"}, 162 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 163 | OS: "linux-rpm", 164 | Arch: arch.X64, 165 | Lang: "na", 166 | AcceptCookie: acceptCookieIcLinuxx64, 167 | }) 168 | 169 | SdkResources = append(SdkResources, &resource.OracleResource{ 170 | Component: "instantclient-sdk", 171 | Version: "12.1.0.2.0", 172 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-devel-12.1.0.2.0-1.i386.rpm"}, 173 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 174 | OS: "linux-rpm", 175 | Arch: arch.X86, 176 | Lang: "na", 177 | AcceptCookie: acceptCookieIcLinuxx86, 178 | }) 179 | 180 | SdkResources = append(SdkResources, &resource.OracleResource{ 181 | Component: "instantclient-sdk", 182 | Version: "12.1.0.2.0", 183 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-sdk-linux-12.1.0.2.0.zip"}, 184 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 185 | OS: "linux", 186 | Arch: arch.X86, 187 | Lang: "na", 188 | AcceptCookie: acceptCookieIcLinuxx86, 189 | }) 190 | 191 | SdkResources = append(SdkResources, &resource.OracleResource{ 192 | Component: "instantclient-sdk", 193 | Version: "12.1.0.2.0", 194 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-sdk-linux.x64-12.1.0.2.0.zip"}, 195 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 196 | OS: "linux", 197 | Arch: arch.X64, 198 | Lang: "na", 199 | AcceptCookie: acceptCookieIcLinuxx64, 200 | }) 201 | 202 | SdkResources = append(SdkResources, &resource.OracleResource{ 203 | Component: "instantclient-sdk", 204 | Version: "12.1.0.2.0", 205 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-sdk-macos.x64-12.1.0.2.0.zip"}, 206 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 207 | OS: "osx", 208 | Arch: arch.X64, 209 | Lang: "na", 210 | AcceptCookie: acceptCookieIcOSX, 211 | }) 212 | 213 | SdkResources = append(SdkResources, &resource.OracleResource{ 214 | Component: "instantclient-sdk", 215 | Version: "12.1.0.2.0", 216 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-sdk-macos.x32-12.1.0.2.0.zip"}, 217 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 218 | OS: "osx", 219 | Arch: arch.X86, 220 | Lang: "na", 221 | AcceptCookie: acceptCookieIcOSX, 222 | }) 223 | 224 | // 11.2.0.4.0 225 | 226 | SdkResources = append(SdkResources, &resource.OracleResource{ 227 | Component: "instantclient-sdk", 228 | Version: "11.2.0.4.0", 229 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-sdk-windows.x64-11.2.0.4.0.zip"}, 230 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 231 | OS: "windows", 232 | Arch: arch.X64, 233 | Lang: "na", 234 | AcceptCookie: acceptCookieIcWinx64, 235 | }) 236 | 237 | SdkResources = append(SdkResources, &resource.OracleResource{ 238 | Component: "instantclient-sdk", 239 | Version: "11.2.0.4.0", 240 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-sdk-nt-11.2.0.4.0.zip"}, 241 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 242 | OS: "windows", 243 | Arch: arch.X86, 244 | Lang: "na", 245 | AcceptCookie: acceptCookieIcWinx86, 246 | }) 247 | 248 | SdkResources = append(SdkResources, &resource.OracleResource{ 249 | Component: "instantclient-sdk", 250 | Version: "11.2.0.4.0", 251 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm"}, 252 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 253 | OS: "linux-rpm", 254 | Arch: arch.X64, 255 | Lang: "na", 256 | AcceptCookie: acceptCookieIcLinuxx64, 257 | }) 258 | 259 | SdkResources = append(SdkResources, &resource.OracleResource{ 260 | Component: "instantclient-sdk", 261 | Version: "11.2.0.4.0", 262 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-sdk-linux.x64-11.2.0.4.0.zip"}, 263 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 264 | OS: "linux", 265 | Arch: arch.X64, 266 | Lang: "na", 267 | AcceptCookie: acceptCookieIcLinuxx64, 268 | }) 269 | 270 | SdkResources = append(SdkResources, &resource.OracleResource{ 271 | Component: "instantclient-sdk", 272 | Version: "11.2.0.4.0", 273 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-devel-11.2.0.4.0-1.i386.rpm"}, 274 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 275 | OS: "linux-rpm", 276 | Arch: arch.X86, 277 | Lang: "na", 278 | AcceptCookie: acceptCookieIcLinuxx64, 279 | }) 280 | 281 | SdkResources = append(SdkResources, &resource.OracleResource{ 282 | Component: "instantclient-sdk", 283 | Version: "11.2.0.4.0", 284 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-sdk-linux-11.2.0.4.0.zip"}, 285 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 286 | OS: "linux", 287 | Arch: arch.X86, 288 | Lang: "na", 289 | AcceptCookie: acceptCookieIcLinuxx64, 290 | }) 291 | 292 | SdkResources = append(SdkResources, &resource.OracleResource{ 293 | Component: "instantclient-sdk", 294 | Version: "11.2.0.4.0", 295 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-sdk-macos.x64-11.2.0.4.0.zip"}, 296 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 297 | OS: "osx", 298 | Arch: arch.X64, 299 | Lang: "na", 300 | AcceptCookie: acceptCookieIcOSX, 301 | }) 302 | 303 | SdkResources = append(SdkResources, &resource.OracleResource{ 304 | Component: "instantclient-sdk", 305 | Version: "11.2.0.4.0", 306 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-sdk-macos.x32-11.2.0.4.0.zip"}, 307 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 308 | OS: "osx", 309 | Arch: arch.X86, 310 | Lang: "na", 311 | AcceptCookie: acceptCookieIcOSX, 312 | }) 313 | 314 | // 11.1.0.7.0 315 | 316 | SdkResources = append(SdkResources, &resource.OracleResource{ 317 | Component: "instantclient-sdk", 318 | Version: "11.1.0.7.0", 319 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-sdk-win-x86-64-11.1.0.7.0.zip"}, 320 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 321 | OS: "windows", 322 | Arch: arch.X64, 323 | Lang: "na", 324 | AcceptCookie: acceptCookieIcWinx64, 325 | }) 326 | 327 | SdkResources = append(SdkResources, &resource.OracleResource{ 328 | Component: "instantclient-sdk", 329 | Version: "11.1.0.7.0", 330 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-sdk-win32-11.1.0.7.0.zip"}, 331 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 332 | OS: "windows", 333 | Arch: arch.X86, 334 | Lang: "na", 335 | AcceptCookie: acceptCookieIcWinx86, 336 | }) 337 | 338 | SdkResources = append(SdkResources, &resource.OracleResource{ 339 | Component: "instantclient-sdk", 340 | Version: "11.1.0.7.0", 341 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm"}, 342 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 343 | OS: "linux-rpm", 344 | Arch: arch.X64, 345 | Lang: "na", 346 | AcceptCookie: acceptCookieIcLinuxx64, 347 | }) 348 | 349 | SdkResources = append(SdkResources, &resource.OracleResource{ 350 | Component: "instantclient-sdk", 351 | Version: "11.1.0.7.0", 352 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/sdk-11.1.0.7.0-linux-x86_64.zip"}, 353 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 354 | OS: "linux", 355 | Arch: arch.X64, 356 | Lang: "na", 357 | AcceptCookie: acceptCookieIcLinuxx64, 358 | }) 359 | 360 | SdkResources = append(SdkResources, &resource.OracleResource{ 361 | Component: "instantclient-sdk", 362 | Version: "11.1.0.7.0", 363 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm"}, 364 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 365 | OS: "linux-rpm", 366 | Arch: arch.X86, 367 | Lang: "na", 368 | AcceptCookie: acceptCookieIcLinuxx64, 369 | }) 370 | 371 | SdkResources = append(SdkResources, &resource.OracleResource{ 372 | Component: "instantclient-sdk", 373 | Version: "11.1.0.7.0", 374 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/instantclient-sdk-linux32-11.1.0.7.zip"}, 375 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 376 | OS: "linux", 377 | Arch: arch.X86, 378 | Lang: "na", 379 | AcceptCookie: acceptCookieIcLinuxx64, 380 | }) 381 | 382 | return SdkResources 383 | } 384 | -------------------------------------------------------------------------------- /resource/instantclient/wrc.go: -------------------------------------------------------------------------------- 1 | package instantclient 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetIcWrcResources() []*resource.OracleResource { 11 | 12 | acceptCookieIcWinx64 := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-ic_winx8664-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | acceptCookieIcLinuxx64 := &http.Cookie{ 19 | Name: "oraclelicense", 20 | Value: "accept-ic_linuxx8664-cookie", 21 | Domain: ".oracle.com", 22 | } 23 | 24 | acceptCookieIcLinuxx86 := &http.Cookie{ 25 | Name: "oraclelicense", 26 | Value: "accept-ic_linux32-cookie", 27 | Domain: ".oracle.com", 28 | } 29 | 30 | acceptCookieIcWinx86 := &http.Cookie{ 31 | Name: "oraclelicense", 32 | Value: "accept-ic_win32-cookie", 33 | Domain: ".oracle.com", 34 | } 35 | 36 | acceptCookieIcOSX := &http.Cookie{ 37 | Name: "oraclelicense", 38 | Value: "accept-ic_solarisx8664-cookie", 39 | Domain: ".oracle.com", 40 | } 41 | 42 | WrcResources := []*resource.OracleResource{} 43 | 44 | // 12.2.0.1.0 45 | 46 | WrcResources = append(WrcResources, &resource.OracleResource{ 47 | Component: "instantclient-wrc", 48 | Version: "12.2.0.1.0", 49 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-tools-windows.x64-12.2.0.1.0.zip"}, 50 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 51 | OS: "windows", 52 | Arch: arch.X64, 53 | Lang: "na", 54 | AcceptCookie: acceptCookieIcWinx64, 55 | }) 56 | 57 | WrcResources = append(WrcResources, &resource.OracleResource{ 58 | Component: "instantclient-wrc", 59 | Version: "12.2.0.1.0", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-tools-nt-12.2.0.1.0.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 62 | OS: "windows", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookieIcWinx86, 66 | }) 67 | 68 | WrcResources = append(WrcResources, &resource.OracleResource{ 69 | Component: "instantclient-wrc", 70 | Version: "12.2.0.1.0", 71 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-tools-12.2.0.1.0-1.x86_64.rpm"}, 72 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 73 | OS: "linux-rpm", 74 | Arch: arch.X64, 75 | Lang: "na", 76 | AcceptCookie: acceptCookieIcLinuxx64, 77 | }) 78 | 79 | WrcResources = append(WrcResources, &resource.OracleResource{ 80 | Component: "instantclient-wrc", 81 | Version: "12.2.0.1.0", 82 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-tools-12.2.0.1.0-1.i386.rpm"}, 83 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 84 | OS: "linux-rpm", 85 | Arch: arch.X86, 86 | Lang: "na", 87 | AcceptCookie: acceptCookieIcLinuxx86, 88 | }) 89 | 90 | WrcResources = append(WrcResources, &resource.OracleResource{ 91 | Component: "instantclient-wrc", 92 | Version: "12.2.0.1.0", 93 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-tools-linux-12.2.0.1.0.zip"}, 94 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 95 | OS: "linux", 96 | Arch: arch.X86, 97 | Lang: "na", 98 | AcceptCookie: acceptCookieIcLinuxx86, 99 | }) 100 | 101 | WrcResources = append(WrcResources, &resource.OracleResource{ 102 | Component: "instantclient-wrc", 103 | Version: "12.2.0.1.0", 104 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-tools-linux.x64-12.2.0.1.0.zip"}, 105 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 106 | OS: "linux", 107 | Arch: arch.X64, 108 | Lang: "na", 109 | AcceptCookie: acceptCookieIcLinuxx64, 110 | }) 111 | 112 | // WrcResources = append(WrcResources, &resource.OracleResource{ 113 | // Component: "instantclient-wrc", 114 | // Version: "12.2.0.1.0", 115 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-tools-macos.x64-12.2.0.1.0.zip"}, 116 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 117 | // OS: "osx", 118 | // Arch: arch.X64, 119 | // Lang: "na", 120 | // AcceptCookie: acceptCookieIcOSX, 121 | // }) 122 | // 123 | // WrcResources = append(WrcResources, &resource.OracleResource{ 124 | // Component: "instantclient-wrc", 125 | // Version: "12.2.0.1.0", 126 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-tools-macos.x32-12.2.0.1.0.zip"}, 127 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 128 | // OS: "osx", 129 | // Arch: arch.X86, 130 | // Lang: "na", 131 | // AcceptCookie: acceptCookieIcOSX, 132 | // }) 133 | 134 | // 12.1.0.2.0 135 | 136 | WrcResources = append(WrcResources, &resource.OracleResource{ 137 | Component: "instantclient-wrc", 138 | Version: "12.1.0.2.0", 139 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-tools-windows.x64-12.1.0.2.0.zip"}, 140 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 141 | OS: "windows", 142 | Arch: arch.X64, 143 | Lang: "na", 144 | AcceptCookie: acceptCookieIcWinx64, 145 | }) 146 | 147 | WrcResources = append(WrcResources, &resource.OracleResource{ 148 | Component: "instantclient-wrc", 149 | Version: "12.1.0.2.0", 150 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-tools-nt-12.1.0.2.0.zip"}, 151 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 152 | OS: "windows", 153 | Arch: arch.X86, 154 | Lang: "na", 155 | AcceptCookie: acceptCookieIcWinx86, 156 | }) 157 | 158 | WrcResources = append(WrcResources, &resource.OracleResource{ 159 | Component: "instantclient-wrc", 160 | Version: "12.1.0.2.0", 161 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64.rpm"}, 162 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 163 | OS: "linux-rpm", 164 | Arch: arch.X64, 165 | Lang: "na", 166 | AcceptCookie: acceptCookieIcLinuxx64, 167 | }) 168 | 169 | WrcResources = append(WrcResources, &resource.OracleResource{ 170 | Component: "instantclient-wrc", 171 | Version: "12.1.0.2.0", 172 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-tools-12.1.0.2.0-1.i386.rpm"}, 173 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 174 | OS: "linux-rpm", 175 | Arch: arch.X86, 176 | Lang: "na", 177 | AcceptCookie: acceptCookieIcLinuxx86, 178 | }) 179 | 180 | WrcResources = append(WrcResources, &resource.OracleResource{ 181 | Component: "instantclient-wrc", 182 | Version: "12.1.0.2.0", 183 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-tools-linux-12.1.0.2.0.zip"}, 184 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 185 | OS: "linux", 186 | Arch: arch.X86, 187 | Lang: "na", 188 | AcceptCookie: acceptCookieIcLinuxx86, 189 | }) 190 | 191 | WrcResources = append(WrcResources, &resource.OracleResource{ 192 | Component: "instantclient-wrc", 193 | Version: "12.1.0.2.0", 194 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-tools-linux.x64-12.1.0.2.0.zip"}, 195 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 196 | OS: "linux", 197 | Arch: arch.X64, 198 | Lang: "na", 199 | AcceptCookie: acceptCookieIcLinuxx64, 200 | }) 201 | 202 | WrcResources = append(WrcResources, &resource.OracleResource{ 203 | Component: "instantclient-wrc", 204 | Version: "12.1.0.2.0", 205 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-tools-macos.x64-12.1.0.2.0.zip"}, 206 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 207 | OS: "osx", 208 | Arch: arch.X64, 209 | Lang: "na", 210 | AcceptCookie: acceptCookieIcOSX, 211 | }) 212 | 213 | WrcResources = append(WrcResources, &resource.OracleResource{ 214 | Component: "instantclient-wrc", 215 | Version: "12.1.0.2.0", 216 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-tools-macos.x32-12.1.0.2.0.zip"}, 217 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 218 | OS: "osx", 219 | Arch: arch.X86, 220 | Lang: "na", 221 | AcceptCookie: acceptCookieIcOSX, 222 | }) 223 | 224 | // 11.2.0.4.0 225 | 226 | WrcResources = append(WrcResources, &resource.OracleResource{ 227 | Component: "instantclient-wrc", 228 | Version: "11.2.0.4.0", 229 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-tools-windows.x64-11.2.0.4.0.zip"}, 230 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 231 | OS: "windows", 232 | Arch: arch.X64, 233 | Lang: "na", 234 | AcceptCookie: acceptCookieIcWinx64, 235 | }) 236 | 237 | WrcResources = append(WrcResources, &resource.OracleResource{ 238 | Component: "instantclient-wrc", 239 | Version: "11.2.0.4.0", 240 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-tools-nt-11.2.0.4.0.zip"}, 241 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 242 | OS: "windows", 243 | Arch: arch.X86, 244 | Lang: "na", 245 | AcceptCookie: acceptCookieIcWinx86, 246 | }) 247 | 248 | WrcResources = append(WrcResources, &resource.OracleResource{ 249 | Component: "instantclient-wrc", 250 | Version: "11.2.0.4.0", 251 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-tools-11.2.0.4.0-1.x86_64.rpm"}, 252 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 253 | OS: "linux-rpm", 254 | Arch: arch.X64, 255 | Lang: "na", 256 | AcceptCookie: acceptCookieIcLinuxx64, 257 | }) 258 | 259 | WrcResources = append(WrcResources, &resource.OracleResource{ 260 | Component: "instantclient-wrc", 261 | Version: "11.2.0.4.0", 262 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-tools-linux.x64-11.2.0.4.0.zip"}, 263 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 264 | OS: "linux", 265 | Arch: arch.X64, 266 | Lang: "na", 267 | AcceptCookie: acceptCookieIcLinuxx64, 268 | }) 269 | 270 | WrcResources = append(WrcResources, &resource.OracleResource{ 271 | Component: "instantclient-wrc", 272 | Version: "11.2.0.4.0", 273 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-tools-11.2.0.4.0-1.i386.rpm"}, 274 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 275 | OS: "linux-rpm", 276 | Arch: arch.X86, 277 | Lang: "na", 278 | AcceptCookie: acceptCookieIcLinuxx64, 279 | }) 280 | 281 | WrcResources = append(WrcResources, &resource.OracleResource{ 282 | Component: "instantclient-wrc", 283 | Version: "11.2.0.4.0", 284 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-tools-linux-11.2.0.4.0.zip"}, 285 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 286 | OS: "linux", 287 | Arch: arch.X86, 288 | Lang: "na", 289 | AcceptCookie: acceptCookieIcLinuxx64, 290 | }) 291 | 292 | WrcResources = append(WrcResources, &resource.OracleResource{ 293 | Component: "instantclient-wrc", 294 | Version: "11.2.0.4.0", 295 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-tools-macos.x64-11.2.0.4.0.zip"}, 296 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 297 | OS: "osx", 298 | Arch: arch.X64, 299 | Lang: "na", 300 | AcceptCookie: acceptCookieIcOSX, 301 | }) 302 | 303 | WrcResources = append(WrcResources, &resource.OracleResource{ 304 | Component: "instantclient-wrc", 305 | Version: "11.2.0.4.0", 306 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-tools-macos.x32-11.2.0.4.0.zip"}, 307 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 308 | OS: "osx", 309 | Arch: arch.X86, 310 | Lang: "na", 311 | AcceptCookie: acceptCookieIcOSX, 312 | }) 313 | 314 | // 11.1.0.7.0 315 | 316 | WrcResources = append(WrcResources, &resource.OracleResource{ 317 | Component: "instantclient-wrc", 318 | Version: "11.1.0.7.0", 319 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-tools-win-x86-64-11.1.0.7.0.zip"}, 320 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 321 | OS: "windows", 322 | Arch: arch.X64, 323 | Lang: "na", 324 | AcceptCookie: acceptCookieIcWinx64, 325 | }) 326 | 327 | WrcResources = append(WrcResources, &resource.OracleResource{ 328 | Component: "instantclient-wrc", 329 | Version: "11.1.0.7.0", 330 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-tools-win32-11.1.0.7.0.zip"}, 331 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 332 | OS: "windows", 333 | Arch: arch.X86, 334 | Lang: "na", 335 | AcceptCookie: acceptCookieIcWinx86, 336 | }) 337 | 338 | WrcResources = append(WrcResources, &resource.OracleResource{ 339 | Component: "instantclient-wrc", 340 | Version: "11.1.0.7.0", 341 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-tools-11.1.0.7.0-1.x86_64.rpm"}, 342 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 343 | OS: "linux-rpm", 344 | Arch: arch.X64, 345 | Lang: "na", 346 | AcceptCookie: acceptCookieIcLinuxx64, 347 | }) 348 | 349 | WrcResources = append(WrcResources, &resource.OracleResource{ 350 | Component: "instantclient-wrc", 351 | Version: "11.1.0.7.0", 352 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/tools-11.1.0.7.0-linux-x86_64.zip"}, 353 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 354 | OS: "linux", 355 | Arch: arch.X64, 356 | Lang: "na", 357 | AcceptCookie: acceptCookieIcLinuxx64, 358 | }) 359 | 360 | WrcResources = append(WrcResources, &resource.OracleResource{ 361 | Component: "instantclient-wrc", 362 | Version: "11.1.0.7.0", 363 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-tools-11.1.0.7.0-1.i386.rpm"}, 364 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 365 | OS: "linux-rpm", 366 | Arch: arch.X86, 367 | Lang: "na", 368 | AcceptCookie: acceptCookieIcLinuxx64, 369 | }) 370 | // 371 | WrcResources = append(WrcResources, &resource.OracleResource{ 372 | Component: "instantclient-wrc", 373 | Version: "11.1.0.7.0", 374 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/instantclient-tools-linux32-11.1.0.7.zip"}, 375 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 376 | OS: "linux", 377 | Arch: arch.X86, 378 | Lang: "na", 379 | AcceptCookie: acceptCookieIcLinuxx64, 380 | }) 381 | 382 | return WrcResources 383 | } 384 | -------------------------------------------------------------------------------- /resource/instantclient/jdbc.go: -------------------------------------------------------------------------------- 1 | package instantclient 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetIcJdbcResources() []*resource.OracleResource { 11 | 12 | acceptCookieIcWinx64 := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-ic_winx8664-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | acceptCookieIcLinuxx64 := &http.Cookie{ 19 | Name: "oraclelicense", 20 | Value: "accept-ic_linuxx8664-cookie", 21 | Domain: ".oracle.com", 22 | } 23 | 24 | acceptCookieIcLinuxx86 := &http.Cookie{ 25 | Name: "oraclelicense", 26 | Value: "accept-ic_linux32-cookie", 27 | Domain: ".oracle.com", 28 | } 29 | 30 | acceptCookieIcWinx86 := &http.Cookie{ 31 | Name: "oraclelicense", 32 | Value: "accept-ic_win32-cookie", 33 | Domain: ".oracle.com", 34 | } 35 | 36 | acceptCookieIcOSX := &http.Cookie{ 37 | Name: "oraclelicense", 38 | Value: "accept-ic_solarisx8664-cookie", 39 | Domain: ".oracle.com", 40 | } 41 | 42 | JdbcResources := []*resource.OracleResource{} 43 | 44 | // 12.2.0.1.0 45 | 46 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 47 | Component: "instantclient-jdbc", 48 | Version: "12.2.0.1.0", 49 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-jdbc-windows.x64-12.2.0.1.0.zip"}, 50 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 51 | OS: "windows", 52 | Arch: arch.X64, 53 | Lang: "na", 54 | AcceptCookie: acceptCookieIcWinx64, 55 | }) 56 | 57 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 58 | Component: "instantclient-jdbc", 59 | Version: "12.2.0.1.0", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-jdbc-nt-12.2.0.1.0.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 62 | OS: "windows", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookieIcWinx86, 66 | }) 67 | 68 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 69 | Component: "instantclient-jdbc", 70 | Version: "12.2.0.1.0", 71 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86_64.rpm"}, 72 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 73 | OS: "linux-rpm", 74 | Arch: arch.X64, 75 | Lang: "na", 76 | AcceptCookie: acceptCookieIcLinuxx64, 77 | }) 78 | 79 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 80 | Component: "instantclient-jdbc", 81 | Version: "12.2.0.1.0", 82 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-jdbc-12.2.0.1.0-1.i386.rpm"}, 83 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 84 | OS: "linux-rpm", 85 | Arch: arch.X86, 86 | Lang: "na", 87 | AcceptCookie: acceptCookieIcLinuxx86, 88 | }) 89 | 90 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 91 | Component: "instantclient-jdbc", 92 | Version: "12.2.0.1.0", 93 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-jdbc-linux-12.2.0.1.0.zip"}, 94 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 95 | OS: "linux", 96 | Arch: arch.X86, 97 | Lang: "na", 98 | AcceptCookie: acceptCookieIcLinuxx86, 99 | }) 100 | 101 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 102 | Component: "instantclient-jdbc", 103 | Version: "12.2.0.1.0", 104 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-jdbc-linux.x64-12.2.0.1.0.zip"}, 105 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 106 | OS: "linux", 107 | Arch: arch.X64, 108 | Lang: "na", 109 | AcceptCookie: acceptCookieIcLinuxx64, 110 | }) 111 | 112 | // JdbcResources = append(JdbcResources, &resource.OracleResource{ 113 | // Component: "instantclient-jdbc", 114 | // Version: "12.2.0.1.0", 115 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-jdbc-macos.x64-12.2.0.1.0.zip"}, 116 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 117 | // OS: "osx", 118 | // Arch: arch.X64, 119 | // Lang: "na", 120 | // AcceptCookie: acceptCookieIcOSX, 121 | // }) 122 | // 123 | // JdbcResources = append(JdbcResources, &resource.OracleResource{ 124 | // Component: "instantclient-jdbc", 125 | // Version: "12.2.0.1.0", 126 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-jdbc-macos.x32-12.2.0.1.0.zip"}, 127 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 128 | // OS: "osx", 129 | // Arch: arch.X86, 130 | // Lang: "na", 131 | // AcceptCookie: acceptCookieIcOSX, 132 | // }) 133 | 134 | // 12.1.0.2.0 135 | 136 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 137 | Component: "instantclient-jdbc", 138 | Version: "12.1.0.2.0", 139 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-jdbc-windows.x64-12.1.0.2.0.zip"}, 140 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 141 | OS: "windows", 142 | Arch: arch.X64, 143 | Lang: "na", 144 | AcceptCookie: acceptCookieIcWinx64, 145 | }) 146 | 147 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 148 | Component: "instantclient-jdbc", 149 | Version: "12.1.0.2.0", 150 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-jdbc-nt-12.1.0.2.0.zip"}, 151 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 152 | OS: "windows", 153 | Arch: arch.X86, 154 | Lang: "na", 155 | AcceptCookie: acceptCookieIcWinx86, 156 | }) 157 | 158 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 159 | Component: "instantclient-jdbc", 160 | Version: "12.1.0.2.0", 161 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64.rpm"}, 162 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 163 | OS: "linux-rpm", 164 | Arch: arch.X64, 165 | Lang: "na", 166 | AcceptCookie: acceptCookieIcLinuxx64, 167 | }) 168 | 169 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 170 | Component: "instantclient-jdbc", 171 | Version: "12.1.0.2.0", 172 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-jdbc-12.1.0.2.0-1.i386.rpm"}, 173 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 174 | OS: "linux-rpm", 175 | Arch: arch.X86, 176 | Lang: "na", 177 | AcceptCookie: acceptCookieIcLinuxx86, 178 | }) 179 | 180 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 181 | Component: "instantclient-jdbc", 182 | Version: "12.1.0.2.0", 183 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-jdbc-linux-12.1.0.2.0.zip"}, 184 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 185 | OS: "linux", 186 | Arch: arch.X86, 187 | Lang: "na", 188 | AcceptCookie: acceptCookieIcLinuxx86, 189 | }) 190 | 191 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 192 | Component: "instantclient-jdbc", 193 | Version: "12.1.0.2.0", 194 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-jdbc-linux.x64-12.1.0.2.0.zip"}, 195 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 196 | OS: "linux", 197 | Arch: arch.X64, 198 | Lang: "na", 199 | AcceptCookie: acceptCookieIcLinuxx64, 200 | }) 201 | 202 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 203 | Component: "instantclient-jdbc", 204 | Version: "12.1.0.2.0", 205 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-jdbc-macos.x64-12.1.0.2.0.zip"}, 206 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 207 | OS: "osx", 208 | Arch: arch.X64, 209 | Lang: "na", 210 | AcceptCookie: acceptCookieIcOSX, 211 | }) 212 | 213 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 214 | Component: "instantclient-jdbc", 215 | Version: "12.1.0.2.0", 216 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-jdbc-macos.x32-12.1.0.2.0.zip"}, 217 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 218 | OS: "osx", 219 | Arch: arch.X86, 220 | Lang: "na", 221 | AcceptCookie: acceptCookieIcOSX, 222 | }) 223 | 224 | // 11.2.0.4.0 225 | 226 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 227 | Component: "instantclient-jdbc", 228 | Version: "11.2.0.4.0", 229 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-jdbc-windows.x64-11.2.0.4.0.zip"}, 230 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 231 | OS: "windows", 232 | Arch: arch.X64, 233 | Lang: "na", 234 | AcceptCookie: acceptCookieIcWinx64, 235 | }) 236 | 237 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 238 | Component: "instantclient-jdbc", 239 | Version: "11.2.0.4.0", 240 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-jdbc-nt-11.2.0.4.0.zip"}, 241 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 242 | OS: "windows", 243 | Arch: arch.X86, 244 | Lang: "na", 245 | AcceptCookie: acceptCookieIcWinx86, 246 | }) 247 | 248 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 249 | Component: "instantclient-jdbc", 250 | Version: "11.2.0.4.0", 251 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm"}, 252 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 253 | OS: "linux-rpm", 254 | Arch: arch.X64, 255 | Lang: "na", 256 | AcceptCookie: acceptCookieIcLinuxx64, 257 | }) 258 | 259 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 260 | Component: "instantclient-jdbc", 261 | Version: "11.2.0.4.0", 262 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-jdbc-linux.x64-11.2.0.4.0.zip"}, 263 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 264 | OS: "linux", 265 | Arch: arch.X64, 266 | Lang: "na", 267 | AcceptCookie: acceptCookieIcLinuxx64, 268 | }) 269 | 270 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 271 | Component: "instantclient-jdbc", 272 | Version: "11.2.0.4.0", 273 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-jdbc-11.2.0.4.0-1.i386.rpm"}, 274 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 275 | OS: "linux-rpm", 276 | Arch: arch.X86, 277 | Lang: "na", 278 | AcceptCookie: acceptCookieIcLinuxx64, 279 | }) 280 | 281 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 282 | Component: "instantclient-jdbc", 283 | Version: "11.2.0.4.0", 284 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-jdbc-linux-11.2.0.4.0.zip"}, 285 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 286 | OS: "linux", 287 | Arch: arch.X86, 288 | Lang: "na", 289 | AcceptCookie: acceptCookieIcLinuxx64, 290 | }) 291 | 292 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 293 | Component: "instantclient-jdbc", 294 | Version: "11.2.0.4.0", 295 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-jdbc-macos.x64-11.2.0.4.0.zip"}, 296 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 297 | OS: "osx", 298 | Arch: arch.X64, 299 | Lang: "na", 300 | AcceptCookie: acceptCookieIcOSX, 301 | }) 302 | 303 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 304 | Component: "instantclient-jdbc", 305 | Version: "11.2.0.4.0", 306 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-jdbc-macos.x32-11.2.0.4.0.zip"}, 307 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 308 | OS: "osx", 309 | Arch: arch.X86, 310 | Lang: "na", 311 | AcceptCookie: acceptCookieIcOSX, 312 | }) 313 | 314 | // 11.1.0.7.0 315 | 316 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 317 | Component: "instantclient-jdbc", 318 | Version: "11.1.0.7.0", 319 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-jdbc-win-x86-64-11.1.0.7.0.zip"}, 320 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 321 | OS: "windows", 322 | Arch: arch.X64, 323 | Lang: "na", 324 | AcceptCookie: acceptCookieIcWinx64, 325 | }) 326 | 327 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 328 | Component: "instantclient-jdbc", 329 | Version: "11.1.0.7.0", 330 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-jdbc-win32-11.1.0.7.0.zip"}, 331 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 332 | OS: "windows", 333 | Arch: arch.X86, 334 | Lang: "na", 335 | AcceptCookie: acceptCookieIcWinx86, 336 | }) 337 | 338 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 339 | Component: "instantclient-jdbc", 340 | Version: "11.1.0.7.0", 341 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-jdbc-11.1.0.7.0-1.x86_64.rpm"}, 342 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 343 | OS: "linux-rpm", 344 | Arch: arch.X64, 345 | Lang: "na", 346 | AcceptCookie: acceptCookieIcLinuxx64, 347 | }) 348 | 349 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 350 | Component: "instantclient-jdbc", 351 | Version: "11.1.0.7.0", 352 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/jdbc-11.1.0.7.0-linux-x86_64.zip"}, 353 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 354 | OS: "linux", 355 | Arch: arch.X64, 356 | Lang: "na", 357 | AcceptCookie: acceptCookieIcLinuxx64, 358 | }) 359 | 360 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 361 | Component: "instantclient-jdbc", 362 | Version: "11.1.0.7.0", 363 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-jdbc-11.1.0.7.0-1.i386.rpm"}, 364 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 365 | OS: "linux-rpm", 366 | Arch: arch.X86, 367 | Lang: "na", 368 | AcceptCookie: acceptCookieIcLinuxx64, 369 | }) 370 | 371 | JdbcResources = append(JdbcResources, &resource.OracleResource{ 372 | Component: "instantclient-jdbc", 373 | Version: "11.1.0.7.0", 374 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/instantclient-jdbc-linux32-11.1.0.7.zip"}, 375 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 376 | OS: "linux", 377 | Arch: arch.X86, 378 | Lang: "na", 379 | AcceptCookie: acceptCookieIcLinuxx64, 380 | }) 381 | 382 | return JdbcResources 383 | } 384 | -------------------------------------------------------------------------------- /resource/instantclient/basic.go: -------------------------------------------------------------------------------- 1 | package instantclient 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetIcBasicResources() []*resource.OracleResource { 11 | 12 | acceptCookieIcWinx64 := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-ic_winx8664-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | acceptCookieIcLinuxx64 := &http.Cookie{ 19 | Name: "oraclelicense", 20 | Value: "accept-ic_linuxx8664-cookie", 21 | Domain: ".oracle.com", 22 | } 23 | 24 | acceptCookieIcLinuxx86 := &http.Cookie{ 25 | Name: "oraclelicense", 26 | Value: "accept-ic_linux32-cookie", 27 | Domain: ".oracle.com", 28 | } 29 | 30 | acceptCookieIcWinx86 := &http.Cookie{ 31 | Name: "oraclelicense", 32 | Value: "accept-ic_win32-cookie", 33 | Domain: ".oracle.com", 34 | } 35 | 36 | acceptCookieIcOSX := &http.Cookie{ 37 | Name: "oraclelicense", 38 | Value: "accept-ic_solarisx8664-cookie", 39 | Domain: ".oracle.com", 40 | } 41 | 42 | BasicResources := []*resource.OracleResource{} 43 | 44 | // 12.2.0.1.0 45 | 46 | BasicResources = append(BasicResources, &resource.OracleResource{ 47 | Component: "instantclient-basic", 48 | Version: "12.2.0.1.0", 49 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-basic-windows.x64-12.2.0.1.0.zip"}, 50 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 51 | OS: "windows", 52 | Arch: arch.X64, 53 | Lang: "na", 54 | AcceptCookie: acceptCookieIcWinx64, 55 | }) 56 | 57 | BasicResources = append(BasicResources, &resource.OracleResource{ 58 | Component: "instantclient-basic", 59 | Version: "12.2.0.1.0", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-basic-nt-12.2.0.1.0.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 62 | OS: "windows", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookieIcWinx86, 66 | }) 67 | 68 | BasicResources = append(BasicResources, &resource.OracleResource{ 69 | Component: "instantclient-basic", 70 | Version: "12.2.0.1.0", 71 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm"}, 72 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 73 | OS: "linux-rpm", 74 | Arch: arch.X64, 75 | Lang: "na", 76 | AcceptCookie: acceptCookieIcLinuxx64, 77 | }) 78 | 79 | BasicResources = append(BasicResources, &resource.OracleResource{ 80 | Component: "instantclient-basic", 81 | Version: "12.2.0.1.0", 82 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-basic-12.2.0.1.0-1.i386.rpm"}, 83 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 84 | OS: "linux-rpm", 85 | Arch: arch.X86, 86 | Lang: "na", 87 | AcceptCookie: acceptCookieIcLinuxx86, 88 | }) 89 | 90 | BasicResources = append(BasicResources, &resource.OracleResource{ 91 | Component: "instantclient-basic", 92 | Version: "12.2.0.1.0", 93 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-basic-linux-12.2.0.1.0.zip"}, 94 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 95 | OS: "linux", 96 | Arch: arch.X86, 97 | Lang: "na", 98 | AcceptCookie: acceptCookieIcLinuxx86, 99 | }) 100 | 101 | BasicResources = append(BasicResources, &resource.OracleResource{ 102 | Component: "instantclient-basic", 103 | Version: "12.2.0.1.0", 104 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-basic-linux.x64-12.2.0.1.0.zip"}, 105 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 106 | OS: "linux", 107 | Arch: arch.X64, 108 | Lang: "na", 109 | AcceptCookie: acceptCookieIcLinuxx64, 110 | }) 111 | 112 | // BasicResources = append(BasicResources, &resource.OracleResource{ 113 | // Component: "instantclient-basic", 114 | // Version: "12.2.0.1.0", 115 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-basic-macos.x64-12.2.0.1.0.zip"}, 116 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 117 | // OS: "osx", 118 | // Arch: arch.X64, 119 | // Lang: "na", 120 | // AcceptCookie: acceptCookieIcOSX, 121 | // }) 122 | // 123 | // BasicResources = append(BasicResources, &resource.OracleResource{ 124 | // Component: "instantclient-basic", 125 | // Version: "12.2.0.1.0", 126 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-basic-macos.x32-12.2.0.1.0.zip"}, 127 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 128 | // OS: "osx", 129 | // Arch: arch.X86, 130 | // Lang: "na", 131 | // AcceptCookie: acceptCookieIcOSX, 132 | // }) 133 | 134 | // 12.1.0.2.0 135 | 136 | BasicResources = append(BasicResources, &resource.OracleResource{ 137 | Component: "instantclient-basic", 138 | Version: "12.1.0.2.0", 139 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-basic-windows.x64-12.1.0.2.0.zip"}, 140 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 141 | OS: "windows", 142 | Arch: arch.X64, 143 | Lang: "na", 144 | AcceptCookie: acceptCookieIcWinx64, 145 | }) 146 | 147 | BasicResources = append(BasicResources, &resource.OracleResource{ 148 | Component: "instantclient-basic", 149 | Version: "12.1.0.2.0", 150 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-basic-nt-12.1.0.2.0.zip"}, 151 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 152 | OS: "windows", 153 | Arch: arch.X86, 154 | Lang: "na", 155 | AcceptCookie: acceptCookieIcWinx86, 156 | }) 157 | 158 | BasicResources = append(BasicResources, &resource.OracleResource{ 159 | Component: "instantclient-basic", 160 | Version: "12.1.0.2.0", 161 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm"}, 162 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 163 | OS: "linux-rpm", 164 | Arch: arch.X64, 165 | Lang: "na", 166 | AcceptCookie: acceptCookieIcLinuxx64, 167 | }) 168 | 169 | BasicResources = append(BasicResources, &resource.OracleResource{ 170 | Component: "instantclient-basic", 171 | Version: "12.1.0.2.0", 172 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-basic-12.1.0.2.0-1.i386.rpm"}, 173 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 174 | OS: "linux-rpm", 175 | Arch: arch.X86, 176 | Lang: "na", 177 | AcceptCookie: acceptCookieIcLinuxx86, 178 | }) 179 | 180 | BasicResources = append(BasicResources, &resource.OracleResource{ 181 | Component: "instantclient-basic", 182 | Version: "12.1.0.2.0", 183 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-basic-linux-12.1.0.2.0.zip"}, 184 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 185 | OS: "linux", 186 | Arch: arch.X86, 187 | Lang: "na", 188 | AcceptCookie: acceptCookieIcLinuxx86, 189 | }) 190 | 191 | BasicResources = append(BasicResources, &resource.OracleResource{ 192 | Component: "instantclient-basic", 193 | Version: "12.1.0.2.0", 194 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-basic-linux.x64-12.1.0.2.0.zip"}, 195 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 196 | OS: "linux", 197 | Arch: arch.X64, 198 | Lang: "na", 199 | AcceptCookie: acceptCookieIcLinuxx64, 200 | }) 201 | 202 | BasicResources = append(BasicResources, &resource.OracleResource{ 203 | Component: "instantclient-basic", 204 | Version: "12.1.0.2.0", 205 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-basic-macos.x64-12.1.0.2.0.zip"}, 206 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 207 | OS: "osx", 208 | Arch: arch.X64, 209 | Lang: "na", 210 | AcceptCookie: acceptCookieIcOSX, 211 | }) 212 | 213 | BasicResources = append(BasicResources, &resource.OracleResource{ 214 | Component: "instantclient-basic", 215 | Version: "12.1.0.2.0", 216 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-basic-macos.x32-12.1.0.2.0.zip"}, 217 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 218 | OS: "osx", 219 | Arch: arch.X86, 220 | Lang: "na", 221 | AcceptCookie: acceptCookieIcOSX, 222 | }) 223 | 224 | // 11.2.0.4.0 225 | 226 | BasicResources = append(BasicResources, &resource.OracleResource{ 227 | Component: "instantclient-basic", 228 | Version: "11.2.0.4.0", 229 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-basic-windows.x64-11.2.0.4.0.zip"}, 230 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 231 | OS: "windows", 232 | Arch: arch.X64, 233 | Lang: "na", 234 | AcceptCookie: acceptCookieIcWinx64, 235 | }) 236 | 237 | BasicResources = append(BasicResources, &resource.OracleResource{ 238 | Component: "instantclient-basic", 239 | Version: "11.2.0.4.0", 240 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-basic-nt-11.2.0.4.0.zip"}, 241 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 242 | OS: "windows", 243 | Arch: arch.X86, 244 | Lang: "na", 245 | AcceptCookie: acceptCookieIcWinx86, 246 | }) 247 | 248 | BasicResources = append(BasicResources, &resource.OracleResource{ 249 | Component: "instantclient-basic", 250 | Version: "11.2.0.4.0", 251 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm"}, 252 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 253 | OS: "linux-rpm", 254 | Arch: arch.X64, 255 | Lang: "na", 256 | AcceptCookie: acceptCookieIcLinuxx64, 257 | }) 258 | 259 | BasicResources = append(BasicResources, &resource.OracleResource{ 260 | Component: "instantclient-basic", 261 | Version: "11.2.0.4.0", 262 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-basic-linux.x64-11.2.0.4.0.zip"}, 263 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 264 | OS: "linux", 265 | Arch: arch.X64, 266 | Lang: "na", 267 | AcceptCookie: acceptCookieIcLinuxx64, 268 | }) 269 | 270 | BasicResources = append(BasicResources, &resource.OracleResource{ 271 | Component: "instantclient-basic", 272 | Version: "11.2.0.4.0", 273 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-basic-11.2.0.4.0-1.i386.rpm"}, 274 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 275 | OS: "linux-rpm", 276 | Arch: arch.X86, 277 | Lang: "na", 278 | AcceptCookie: acceptCookieIcLinuxx64, 279 | }) 280 | 281 | BasicResources = append(BasicResources, &resource.OracleResource{ 282 | Component: "instantclient-basic", 283 | Version: "11.2.0.4.0", 284 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-basic-linux-11.2.0.4.0.zip"}, 285 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 286 | OS: "linux", 287 | Arch: arch.X86, 288 | Lang: "na", 289 | AcceptCookie: acceptCookieIcLinuxx64, 290 | }) 291 | 292 | BasicResources = append(BasicResources, &resource.OracleResource{ 293 | Component: "instantclient-basic", 294 | Version: "11.2.0.4.0", 295 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-basic-macos.x64-11.2.0.4.0.zip"}, 296 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 297 | OS: "osx", 298 | Arch: arch.X64, 299 | Lang: "na", 300 | AcceptCookie: acceptCookieIcOSX, 301 | }) 302 | 303 | BasicResources = append(BasicResources, &resource.OracleResource{ 304 | Component: "instantclient-basic", 305 | Version: "11.2.0.4.0", 306 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-basic-macos.x32-11.2.0.4.0.zip"}, 307 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 308 | OS: "osx", 309 | Arch: arch.X86, 310 | Lang: "na", 311 | AcceptCookie: acceptCookieIcOSX, 312 | }) 313 | 314 | // 11.1.0.7.0 315 | 316 | BasicResources = append(BasicResources, &resource.OracleResource{ 317 | Component: "instantclient-basic", 318 | Version: "11.1.0.7.0", 319 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-basic-win-x86-64-11.1.0.7.0.zip"}, 320 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 321 | OS: "windows", 322 | Arch: arch.X64, 323 | Lang: "na", 324 | AcceptCookie: acceptCookieIcWinx64, 325 | }) 326 | 327 | BasicResources = append(BasicResources, &resource.OracleResource{ 328 | Component: "instantclient-basic", 329 | Version: "11.1.0.7.0", 330 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-basic-win32-11.1.0.7.0.zip"}, 331 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 332 | OS: "windows", 333 | Arch: arch.X86, 334 | Lang: "na", 335 | AcceptCookie: acceptCookieIcWinx86, 336 | }) 337 | 338 | BasicResources = append(BasicResources, &resource.OracleResource{ 339 | Component: "instantclient-basic", 340 | Version: "11.1.0.7.0", 341 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm"}, 342 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 343 | OS: "linux-rpm", 344 | Arch: arch.X64, 345 | Lang: "na", 346 | AcceptCookie: acceptCookieIcLinuxx64, 347 | }) 348 | 349 | BasicResources = append(BasicResources, &resource.OracleResource{ 350 | Component: "instantclient-basic", 351 | Version: "11.1.0.7.0", 352 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/basic-11.1.0.70-linux-x86_64.zip"}, 353 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 354 | OS: "linux", 355 | Arch: arch.X64, 356 | Lang: "na", 357 | AcceptCookie: acceptCookieIcLinuxx64, 358 | }) 359 | 360 | BasicResources = append(BasicResources, &resource.OracleResource{ 361 | Component: "instantclient-basic", 362 | Version: "11.1.0.7.0", 363 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm"}, 364 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 365 | OS: "linux-rpm", 366 | Arch: arch.X86, 367 | Lang: "na", 368 | AcceptCookie: acceptCookieIcLinuxx64, 369 | }) 370 | 371 | BasicResources = append(BasicResources, &resource.OracleResource{ 372 | Component: "instantclient-basic", 373 | Version: "11.1.0.7.0", 374 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/instantclient-basic-linux32-11.1.0.7.zip"}, 375 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 376 | OS: "linux", 377 | Arch: arch.X86, 378 | Lang: "na", 379 | AcceptCookie: acceptCookieIcLinuxx64, 380 | }) 381 | 382 | return BasicResources 383 | } 384 | -------------------------------------------------------------------------------- /resource/instantclient/sqlplus.go: -------------------------------------------------------------------------------- 1 | package instantclient 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetIcSqlplusResources() []*resource.OracleResource { 11 | 12 | acceptCookieIcWinx64 := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-ic_winx8664-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | acceptCookieIcLinuxx64 := &http.Cookie{ 19 | Name: "oraclelicense", 20 | Value: "accept-ic_linuxx8664-cookie", 21 | Domain: ".oracle.com", 22 | } 23 | 24 | acceptCookieIcLinuxx86 := &http.Cookie{ 25 | Name: "oraclelicense", 26 | Value: "accept-ic_linux32-cookie", 27 | Domain: ".oracle.com", 28 | } 29 | 30 | acceptCookieIcWinx86 := &http.Cookie{ 31 | Name: "oraclelicense", 32 | Value: "accept-ic_win32-cookie", 33 | Domain: ".oracle.com", 34 | } 35 | 36 | acceptCookieIcOSX := &http.Cookie{ 37 | Name: "oraclelicense", 38 | Value: "accept-ic_solarisx8664-cookie", 39 | Domain: ".oracle.com", 40 | } 41 | 42 | SqlplusResources := []*resource.OracleResource{} 43 | 44 | // 12.2.0.1.0 45 | 46 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 47 | Component: "instantclient-sqlplus", 48 | Version: "12.2.0.1.0", 49 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-sqlplus-windows.x64-12.2.0.1.0.zip"}, 50 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 51 | OS: "windows", 52 | Arch: arch.X64, 53 | Lang: "na", 54 | AcceptCookie: acceptCookieIcWinx64, 55 | }) 56 | 57 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 58 | Component: "instantclient-sqlplus", 59 | Version: "12.2.0.1.0", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-sqlplus-nt-12.2.0.1.0.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 62 | OS: "windows", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookieIcWinx86, 66 | }) 67 | 68 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 69 | Component: "instantclient-sqlplus", 70 | Version: "12.2.0.1.0", 71 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm"}, 72 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 73 | OS: "linux-rpm", 74 | Arch: arch.X64, 75 | Lang: "na", 76 | AcceptCookie: acceptCookieIcLinuxx64, 77 | }) 78 | 79 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 80 | Component: "instantclient-sqlplus", 81 | Version: "12.2.0.1.0", 82 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.i386.rpm"}, 83 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 84 | OS: "linux-rpm", 85 | Arch: arch.X86, 86 | Lang: "na", 87 | AcceptCookie: acceptCookieIcLinuxx86, 88 | }) 89 | 90 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 91 | Component: "instantclient-sqlplus", 92 | Version: "12.2.0.1.0", 93 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-sqlplus-linux-12.2.0.1.0.zip"}, 94 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 95 | OS: "linux", 96 | Arch: arch.X86, 97 | Lang: "na", 98 | AcceptCookie: acceptCookieIcLinuxx86, 99 | }) 100 | 101 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 102 | Component: "instantclient-sqlplus", 103 | Version: "12.2.0.1.0", 104 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip"}, 105 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 106 | OS: "linux", 107 | Arch: arch.X64, 108 | Lang: "na", 109 | AcceptCookie: acceptCookieIcLinuxx64, 110 | }) 111 | 112 | // SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 113 | // Component: "instantclient-sqlplus", 114 | // Version: "12.2.0.1.0", 115 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-sqlplus-macos.x64-12.2.0.1.0.zip"}, 116 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 117 | // OS: "osx", 118 | // Arch: arch.X64, 119 | // Lang: "na", 120 | // AcceptCookie: acceptCookieIcOSX, 121 | // }) 122 | // 123 | // SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 124 | // Component: "instantclient-sqlplus", 125 | // Version: "12.2.0.1.0", 126 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-sqlplus-macos.x32-12.2.0.1.0.zip"}, 127 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 128 | // OS: "osx", 129 | // Arch: arch.X86, 130 | // Lang: "na", 131 | // AcceptCookie: acceptCookieIcOSX, 132 | // }) 133 | 134 | // 12.1.0.2.0 135 | 136 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 137 | Component: "instantclient-sqlplus", 138 | Version: "12.1.0.2.0", 139 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-sqlplus-windows.x64-12.1.0.2.0.zip"}, 140 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 141 | OS: "windows", 142 | Arch: arch.X64, 143 | Lang: "na", 144 | AcceptCookie: acceptCookieIcWinx64, 145 | }) 146 | 147 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 148 | Component: "instantclient-sqlplus", 149 | Version: "12.1.0.2.0", 150 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-sqlplus-nt-12.1.0.2.0.zip"}, 151 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 152 | OS: "windows", 153 | Arch: arch.X86, 154 | Lang: "na", 155 | AcceptCookie: acceptCookieIcWinx86, 156 | }) 157 | 158 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 159 | Component: "instantclient-sqlplus", 160 | Version: "12.1.0.2.0", 161 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm"}, 162 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 163 | OS: "linux-rpm", 164 | Arch: arch.X64, 165 | Lang: "na", 166 | AcceptCookie: acceptCookieIcLinuxx64, 167 | }) 168 | 169 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 170 | Component: "instantclient-sqlplus", 171 | Version: "12.1.0.2.0", 172 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.i386.rpm"}, 173 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 174 | OS: "linux-rpm", 175 | Arch: arch.X86, 176 | Lang: "na", 177 | AcceptCookie: acceptCookieIcLinuxx86, 178 | }) 179 | 180 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 181 | Component: "instantclient-sqlplus", 182 | Version: "12.1.0.2.0", 183 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-sqlplus-linux-12.1.0.2.0.zip"}, 184 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 185 | OS: "linux", 186 | Arch: arch.X86, 187 | Lang: "na", 188 | AcceptCookie: acceptCookieIcLinuxx86, 189 | }) 190 | 191 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 192 | Component: "instantclient-sqlplus", 193 | Version: "12.1.0.2.0", 194 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-sqlplus-linux.x64-12.1.0.2.0.zip"}, 195 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 196 | OS: "linux", 197 | Arch: arch.X64, 198 | Lang: "na", 199 | AcceptCookie: acceptCookieIcLinuxx64, 200 | }) 201 | 202 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 203 | Component: "instantclient-sqlplus", 204 | Version: "12.1.0.2.0", 205 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-sqlplus-macos.x64-12.1.0.2.0.zip"}, 206 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 207 | OS: "osx", 208 | Arch: arch.X64, 209 | Lang: "na", 210 | AcceptCookie: acceptCookieIcOSX, 211 | }) 212 | 213 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 214 | Component: "instantclient-sqlplus", 215 | Version: "12.1.0.2.0", 216 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-sqlplus-macos.x32-12.1.0.2.0.zip"}, 217 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 218 | OS: "osx", 219 | Arch: arch.X86, 220 | Lang: "na", 221 | AcceptCookie: acceptCookieIcOSX, 222 | }) 223 | 224 | // 11.2.0.4.0 225 | 226 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 227 | Component: "instantclient-sqlplus", 228 | Version: "11.2.0.4.0", 229 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-sqlplus-windows.x64-11.2.0.4.0.zip"}, 230 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 231 | OS: "windows", 232 | Arch: arch.X64, 233 | Lang: "na", 234 | AcceptCookie: acceptCookieIcWinx64, 235 | }) 236 | 237 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 238 | Component: "instantclient-sqlplus", 239 | Version: "11.2.0.4.0", 240 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-sqlplus-nt-11.2.0.4.0.zip"}, 241 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 242 | OS: "windows", 243 | Arch: arch.X86, 244 | Lang: "na", 245 | AcceptCookie: acceptCookieIcWinx86, 246 | }) 247 | 248 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 249 | Component: "instantclient-sqlplus", 250 | Version: "11.2.0.4.0", 251 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm"}, 252 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 253 | OS: "linux-rpm", 254 | Arch: arch.X64, 255 | Lang: "na", 256 | AcceptCookie: acceptCookieIcLinuxx64, 257 | }) 258 | 259 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 260 | Component: "instantclient-sqlplus", 261 | Version: "11.2.0.4.0", 262 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-sqlplus-linux.x64-11.2.0.4.0.zip"}, 263 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 264 | OS: "linux", 265 | Arch: arch.X64, 266 | Lang: "na", 267 | AcceptCookie: acceptCookieIcLinuxx64, 268 | }) 269 | 270 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 271 | Component: "instantclient-sqlplus", 272 | Version: "11.2.0.4.0", 273 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.i386.rpm"}, 274 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 275 | OS: "linux-rpm", 276 | Arch: arch.X86, 277 | Lang: "na", 278 | AcceptCookie: acceptCookieIcLinuxx64, 279 | }) 280 | 281 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 282 | Component: "instantclient-sqlplus", 283 | Version: "11.2.0.4.0", 284 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-sqlplus-linux-11.2.0.4.0.zip"}, 285 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 286 | OS: "linux", 287 | Arch: arch.X86, 288 | Lang: "na", 289 | AcceptCookie: acceptCookieIcLinuxx64, 290 | }) 291 | 292 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 293 | Component: "instantclient-sqlplus", 294 | Version: "11.2.0.4.0", 295 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-sqlplus-macos.x64-11.2.0.4.0.zip"}, 296 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 297 | OS: "osx", 298 | Arch: arch.X64, 299 | Lang: "na", 300 | AcceptCookie: acceptCookieIcOSX, 301 | }) 302 | 303 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 304 | Component: "instantclient-sqlplus", 305 | Version: "11.2.0.4.0", 306 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-sqlplus-macos.x32-11.2.0.4.0.zip"}, 307 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 308 | OS: "osx", 309 | Arch: arch.X86, 310 | Lang: "na", 311 | AcceptCookie: acceptCookieIcOSX, 312 | }) 313 | 314 | // 11.1.0.7.0 315 | 316 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 317 | Component: "instantclient-sqlplus", 318 | Version: "11.1.0.7.0", 319 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-sqlplus-win-x86-64-11.1.0.7.0.zip"}, 320 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 321 | OS: "windows", 322 | Arch: arch.X64, 323 | Lang: "na", 324 | AcceptCookie: acceptCookieIcWinx64, 325 | }) 326 | 327 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 328 | Component: "instantclient-sqlplus", 329 | Version: "11.1.0.7.0", 330 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-sqlplus-win32-11.1.0.7.0.zip"}, 331 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 332 | OS: "windows", 333 | Arch: arch.X86, 334 | Lang: "na", 335 | AcceptCookie: acceptCookieIcWinx86, 336 | }) 337 | 338 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 339 | Component: "instantclient-sqlplus", 340 | Version: "11.1.0.7.0", 341 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm"}, 342 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 343 | OS: "linux-rpm", 344 | Arch: arch.X64, 345 | Lang: "na", 346 | AcceptCookie: acceptCookieIcLinuxx64, 347 | }) 348 | 349 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 350 | Component: "instantclient-sqlplus", 351 | Version: "11.1.0.7.0", 352 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/sqlplus-11.1.0.7.0-linux-x86_64.zip"}, 353 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 354 | OS: "linux", 355 | Arch: arch.X64, 356 | Lang: "na", 357 | AcceptCookie: acceptCookieIcLinuxx64, 358 | }) 359 | 360 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 361 | Component: "instantclient-sqlplus", 362 | Version: "11.1.0.7.0", 363 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.i386.rpm"}, 364 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 365 | OS: "linux-rpm", 366 | Arch: arch.X86, 367 | Lang: "na", 368 | AcceptCookie: acceptCookieIcLinuxx64, 369 | }) 370 | 371 | SqlplusResources = append(SqlplusResources, &resource.OracleResource{ 372 | Component: "instantclient-sqlplus", 373 | Version: "11.1.0.7.0", 374 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/instantclient-sqlplus-linux32-11.1.0.7.zip"}, 375 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 376 | OS: "linux", 377 | Arch: arch.X86, 378 | Lang: "na", 379 | AcceptCookie: acceptCookieIcLinuxx64, 380 | }) 381 | 382 | return SqlplusResources 383 | } 384 | -------------------------------------------------------------------------------- /resource/instantclient/basic_lite.go: -------------------------------------------------------------------------------- 1 | package instantclient 2 | 3 | import ( 4 | "net/http" 5 | 6 | "github.com/tschf/odl/arch" 7 | "github.com/tschf/odl/resource" 8 | ) 9 | 10 | func GetIcBasicLiteResources() []*resource.OracleResource { 11 | 12 | acceptCookieIcWinx64 := &http.Cookie{ 13 | Name: "oraclelicense", 14 | Value: "accept-ic_winx8664-cookie", 15 | Domain: ".oracle.com", 16 | } 17 | 18 | acceptCookieIcLinuxx64 := &http.Cookie{ 19 | Name: "oraclelicense", 20 | Value: "accept-ic_linuxx8664-cookie", 21 | Domain: ".oracle.com", 22 | } 23 | 24 | acceptCookieIcLinuxx86 := &http.Cookie{ 25 | Name: "oraclelicense", 26 | Value: "accept-ic_linux32-cookie", 27 | Domain: ".oracle.com", 28 | } 29 | 30 | acceptCookieIcWinx86 := &http.Cookie{ 31 | Name: "oraclelicense", 32 | Value: "accept-ic_win32-cookie", 33 | Domain: ".oracle.com", 34 | } 35 | 36 | acceptCookieIcOSX := &http.Cookie{ 37 | Name: "oraclelicense", 38 | Value: "accept-ic_solarisx8664-cookie", 39 | Domain: ".oracle.com", 40 | } 41 | 42 | BasicLiteResources := []*resource.OracleResource{} 43 | 44 | // 12.2.0.1.0 45 | 46 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 47 | Component: "instantclient-basic-lite", 48 | Version: "12.2.0.1.0", 49 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-basiclite-windows.x64-12.2.0.1.0.zip"}, 50 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 51 | OS: "windows", 52 | Arch: arch.X64, 53 | Lang: "na", 54 | AcceptCookie: acceptCookieIcWinx64, 55 | }) 56 | 57 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 58 | Component: "instantclient-basic-lite", 59 | Version: "12.2.0.1.0", 60 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/122010/instantclient-basiclite-nt-12.2.0.1.0.zip"}, 61 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 62 | OS: "windows", 63 | Arch: arch.X86, 64 | Lang: "na", 65 | AcceptCookie: acceptCookieIcWinx86, 66 | }) 67 | 68 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 69 | Component: "instantclient-basic-lite", 70 | Version: "12.2.0.1.0", 71 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm"}, 72 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 73 | OS: "linux-rpm", 74 | Arch: arch.X64, 75 | Lang: "na", 76 | AcceptCookie: acceptCookieIcLinuxx64, 77 | }) 78 | 79 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 80 | Component: "instantclient-basic-lite", 81 | Version: "12.2.0.1.0", 82 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm"}, 83 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 84 | OS: "linux-rpm", 85 | Arch: arch.X86, 86 | Lang: "na", 87 | AcceptCookie: acceptCookieIcLinuxx86, 88 | }) 89 | 90 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 91 | Component: "instantclient-basic-lite", 92 | Version: "12.2.0.1.0", 93 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-basiclite-linux-12.2.0.1.0.zip"}, 94 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 95 | OS: "linux", 96 | Arch: arch.X86, 97 | Lang: "na", 98 | AcceptCookie: acceptCookieIcLinuxx86, 99 | }) 100 | 101 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 102 | Component: "instantclient-basic-lite", 103 | Version: "12.2.0.1.0", 104 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/122010/instantclient-basiclite-linux.x64-12.2.0.1.0.zip"}, 105 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 106 | OS: "linux", 107 | Arch: arch.X64, 108 | Lang: "na", 109 | AcceptCookie: acceptCookieIcLinuxx64, 110 | }) 111 | 112 | // BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 113 | // Component: "instantclient-basic-lite", 114 | // Version: "12.2.0.1.0", 115 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-basiclite-macos.x64-12.2.0.1.0.zip"}, 116 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 117 | // OS: "osx", 118 | // Arch: arch.X64, 119 | // Lang: "na", 120 | // AcceptCookie: acceptCookieIcOSX, 121 | // }) 122 | // 123 | // BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 124 | // Component: "instantclient-basic-lite", 125 | // Version: "12.2.0.1.0", 126 | // File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/122010/instantclient-basiclite-macos.x32-12.2.0.1.0.zip"}, 127 | // License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 128 | // OS: "osx", 129 | // Arch: arch.X86, 130 | // Lang: "na", 131 | // AcceptCookie: acceptCookieIcOSX, 132 | // }) 133 | 134 | // 12.1.0.2.0 135 | 136 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 137 | Component: "instantclient-basic-lite", 138 | Version: "12.1.0.2.0", 139 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-basiclite-windows.x64-12.1.0.2.0.zip"}, 140 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 141 | OS: "windows", 142 | Arch: arch.X64, 143 | Lang: "na", 144 | AcceptCookie: acceptCookieIcWinx64, 145 | }) 146 | 147 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 148 | Component: "instantclient-basic-lite", 149 | Version: "12.1.0.2.0", 150 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/121020/instantclient-basiclite-nt-12.1.0.2.0.zip"}, 151 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 152 | OS: "windows", 153 | Arch: arch.X86, 154 | Lang: "na", 155 | AcceptCookie: acceptCookieIcWinx86, 156 | }) 157 | 158 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 159 | Component: "instantclient-basic-lite", 160 | Version: "12.1.0.2.0", 161 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-basiclite-12.1.0.2.0-1.x86_64.rpm"}, 162 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 163 | OS: "linux-rpm", 164 | Arch: arch.X64, 165 | Lang: "na", 166 | AcceptCookie: acceptCookieIcLinuxx64, 167 | }) 168 | 169 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 170 | Component: "instantclient-basic-lite", 171 | Version: "12.1.0.2.0", 172 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/oracle-instantclient12.1-basiclite-12.1.0.2.0-1.i386.rpm"}, 173 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 174 | OS: "linux-rpm", 175 | Arch: arch.X86, 176 | Lang: "na", 177 | AcceptCookie: acceptCookieIcLinuxx86, 178 | }) 179 | 180 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 181 | Component: "instantclient-basic-lite", 182 | Version: "12.1.0.2.0", 183 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-basiclite-linux-12.1.0.2.0.zip"}, 184 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 185 | OS: "linux", 186 | Arch: arch.X86, 187 | Lang: "na", 188 | AcceptCookie: acceptCookieIcLinuxx86, 189 | }) 190 | 191 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 192 | Component: "instantclient-basic-lite", 193 | Version: "12.1.0.2.0", 194 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/121020/instantclient-basiclite-linux.x64-12.1.0.2.0.zip"}, 195 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 196 | OS: "linux", 197 | Arch: arch.X64, 198 | Lang: "na", 199 | AcceptCookie: acceptCookieIcLinuxx64, 200 | }) 201 | 202 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 203 | Component: "instantclient-basic-lite", 204 | Version: "12.1.0.2.0", 205 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-basiclite-macos.x64-12.1.0.2.0.zip"}, 206 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 207 | OS: "osx", 208 | Arch: arch.X64, 209 | Lang: "na", 210 | AcceptCookie: acceptCookieIcOSX, 211 | }) 212 | 213 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 214 | Component: "instantclient-basic-lite", 215 | Version: "12.1.0.2.0", 216 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/121020/instantclient-basiclite-macos.x32-12.1.0.2.0.zip"}, 217 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 218 | OS: "osx", 219 | Arch: arch.X86, 220 | Lang: "na", 221 | AcceptCookie: acceptCookieIcOSX, 222 | }) 223 | 224 | // 11.2.0.4.0 225 | 226 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 227 | Component: "instantclient-basic-lite", 228 | Version: "11.2.0.4.0", 229 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-basiclite-windows.x64-11.2.0.4.0.zip"}, 230 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 231 | OS: "windows", 232 | Arch: arch.X64, 233 | Lang: "na", 234 | AcceptCookie: acceptCookieIcWinx64, 235 | }) 236 | 237 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 238 | Component: "instantclient-basic-lite", 239 | Version: "11.2.0.4.0", 240 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/11204/instantclient-basiclite-nt-11.2.0.4.0.zip"}, 241 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 242 | OS: "windows", 243 | Arch: arch.X86, 244 | Lang: "na", 245 | AcceptCookie: acceptCookieIcWinx86, 246 | }) 247 | 248 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 249 | Component: "instantclient-basic-lite", 250 | Version: "11.2.0.4.0", 251 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-basiclite-11.2.0.4.0-1.x86_64.rpm"}, 252 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 253 | OS: "linux-rpm", 254 | Arch: arch.X64, 255 | Lang: "na", 256 | AcceptCookie: acceptCookieIcLinuxx64, 257 | }) 258 | 259 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 260 | Component: "instantclient-basic-lite", 261 | Version: "11.2.0.4.0", 262 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-basiclite-linux.x64-11.2.0.4.0.zip"}, 263 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 264 | OS: "linux", 265 | Arch: arch.X64, 266 | Lang: "na", 267 | AcceptCookie: acceptCookieIcLinuxx64, 268 | }) 269 | 270 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 271 | Component: "instantclient-basic-lite", 272 | Version: "11.2.0.4.0", 273 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/oracle-instantclient11.2-basiclite-11.2.0.4.0-1.i386.rpm"}, 274 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 275 | OS: "linux-rpm", 276 | Arch: arch.X86, 277 | Lang: "na", 278 | AcceptCookie: acceptCookieIcLinuxx64, 279 | }) 280 | 281 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 282 | Component: "instantclient-basic-lite", 283 | Version: "11.2.0.4.0", 284 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/11204/instantclient-basiclite-linux-11.2.0.4.0.zip"}, 285 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 286 | OS: "linux", 287 | Arch: arch.X86, 288 | Lang: "na", 289 | AcceptCookie: acceptCookieIcLinuxx64, 290 | }) 291 | 292 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 293 | Component: "instantclient-basic-lite", 294 | Version: "11.2.0.4.0", 295 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-basiclite-macos.x64-11.2.0.4.0.zip"}, 296 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 297 | OS: "osx", 298 | Arch: arch.X64, 299 | Lang: "na", 300 | AcceptCookie: acceptCookieIcOSX, 301 | }) 302 | 303 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 304 | Component: "instantclient-basic-lite", 305 | Version: "11.2.0.4.0", 306 | File: []string{"https://edelivery.oracle.com/akam/otn/mac/instantclient/11204/instantclient-basiclite-macos.x32-11.2.0.4.0.zip"}, 307 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 308 | OS: "osx", 309 | Arch: arch.X86, 310 | Lang: "na", 311 | AcceptCookie: acceptCookieIcOSX, 312 | }) 313 | 314 | // 11.1.0.7.0 315 | 316 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 317 | Component: "instantclient-basic-lite", 318 | Version: "11.1.0.7.0", 319 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-basiclite-win-x86-64-11.1.0.7.0.zip"}, 320 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 321 | OS: "windows", 322 | Arch: arch.X64, 323 | Lang: "na", 324 | AcceptCookie: acceptCookieIcWinx64, 325 | }) 326 | 327 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 328 | Component: "instantclient-basic-lite", 329 | Version: "11.1.0.7.0", 330 | File: []string{"https://edelivery.oracle.com/akam/otn/nt/instantclient/111070/instantclient-basiclite-win32-11.1.0.7.0.zip"}, 331 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 332 | OS: "windows", 333 | Arch: arch.X86, 334 | Lang: "na", 335 | AcceptCookie: acceptCookieIcWinx86, 336 | }) 337 | 338 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 339 | Component: "instantclient-basic-lite", 340 | Version: "11.1.0.7.0", 341 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-basiclite-11.1.0.7.0-1.x86_64.rpm"}, 342 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 343 | OS: "linux-rpm", 344 | Arch: arch.X64, 345 | Lang: "na", 346 | AcceptCookie: acceptCookieIcLinuxx64, 347 | }) 348 | 349 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 350 | Component: "instantclient-basic-lite", 351 | Version: "11.1.0.7.0", 352 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/basiclite-11.1.0.7.0-linux-x86_64.zip"}, 353 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 354 | OS: "linux", 355 | Arch: arch.X64, 356 | Lang: "na", 357 | AcceptCookie: acceptCookieIcLinuxx64, 358 | }) 359 | 360 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 361 | Component: "instantclient-basic-lite", 362 | Version: "11.1.0.7.0", 363 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/oracle-instantclient11.1-basiclite-11.1.0.7.0-1.i386.rpm"}, 364 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 365 | OS: "linux-rpm", 366 | Arch: arch.X86, 367 | Lang: "na", 368 | AcceptCookie: acceptCookieIcLinuxx64, 369 | }) 370 | 371 | BasicLiteResources = append(BasicLiteResources, &resource.OracleResource{ 372 | Component: "instantclient-basic-lite", 373 | Version: "11.1.0.7.0", 374 | File: []string{"https://edelivery.oracle.com/akam/otn/linux/instantclient/111070/instantclient-basiclite-linux32-11.1.0.7.zip"}, 375 | License: "http://www.oracle.com/technetwork/licenses/distribution-license-152002.html", 376 | OS: "linux", 377 | Arch: arch.X86, 378 | Lang: "na", 379 | AcceptCookie: acceptCookieIcLinuxx64, 380 | }) 381 | 382 | return BasicLiteResources 383 | } 384 | --------------------------------------------------------------------------------