NETCONF XML Management Protocol Developer Guide

Total Page:16

File Type:pdf, Size:1020Kb

NETCONF XML Management Protocol Developer Guide Junos® OS NETCONF XML Management Protocol Developer Guide Published 2021-09-16 ii Juniper Networks, Inc. 1133 Innovation Way Sunnyvale, California 94089 USA 408-745-2000 www.juniper.net Juniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc. in the United States and other countries. All other trademarks, service marks, registered marks, or registered service marks are the property of their respective owners. Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify, transfer, or otherwise revise this publication without notice. Junos® OS NETCONF XML Management Protocol Developer Guide Copyright © 2021 Juniper Networks, Inc. All rights reserved. The information in this document is current as of the date on the title page. YEAR 2000 NOTICE Juniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related limitations through the year 2038. However, the NTP application is known to have some difficulty in the year 2036. END USER LICENSE AGREEMENT The Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use with) Juniper Networks software. Use of such software is subject to the terms and conditions of the End User License Agreement ("EULA") posted at https://support.juniper.net/support/eula/. By downloading, installing or using such software, you agree to the terms and conditions of that EULA. iii Table of Contents About This Guide | xvii 1 Overview NETCONF XML Management Protocol Overview | 2 NETCONF XML Management Protocol and Junos XML API Overview | 2 Advantages of Using the NETCONF XML Management Protocol and Junos XML API | 3 NETCONF and Junos XML Tags Overview | 6 XML and Junos OS Overview | 6 XML Overview | 8 XML and NETCONF XML Management Protocol Conventions Overview | 11 Map Junos OS Commands and Command Output to Junos XML Tag Elements | 16 Mapping Command Output to Junos XML Elements | 17 Mapping Commands to Junos XML Request Tag Elements | 18 Mapping for Command Options with Variable Values | 19 Mapping for Fixed-Form Command Options | 20 Map Configuration Statements to Junos XML Tag Elements | 21 Using NETCONF Configuration Response Tag Elements in NETCONF Requests and Configuration Changes | 28 2 Manage NETCONF Sessions NETCONF Session Overview | 31 NETCONF Session Overview | 31 Understanding the Client Application’s Role in a NETCONF Session | 32 Generate Well-Formed XML Documents | 33 Understanding the Request Procedure in a NETCONF Session | 34 Manage NETCONF Sessions | 36 Establish an SSH Connection for a NETCONF Session | 36 Establish an SSH Connection for a NETCONF Session | 37 iv Prerequisites for Establishing an SSH Connection for NETCONF Sessions | 37 Installing SSH Software on the Configuration Management Server | 37 Configuring a User Account for the Client Application on Devices Running Junos OS | 37 Configuring a Public/Private Key Pair or Password for the Junos OS User Account | 38 Accessing the Keys or Password with the Client Application | 40 Enabling NETCONF Service over SSH | 41 Prerequisites for Establishing an Outbound SSH Connection for NETCONF Sessions | 43 Configuring the Device Running Junos OS for Outbound SSH | 43 Installing SSH Software on the Client | 45 Receiving and Managing the Outbound SSH Initiation Sequence on the Client | 46 Enabling NETCONF Service over SSH | 46 NETCONF Sessions over Transport Layer Security (TLS) | 48 Understanding NETCONF-over-TLS Connections | 49 How to Establish a NETCONF Session over TLS | 54 Install TLS Client Software on the Configuration Management Server | 54 Obtain X.509 Certificates for the Server and Client | 55 Install the Server’s Local Certificate in the Junos OS PKI | 56 Install the CA Certificates in the Junos OS PKI | 57 Enable the NETCONF Service over TLS | 59 Configure the TLS Client-to-NETCONF Username Mapping | 59 Configure the Default NETCONF Username Mapping | 61 Configure the User Account for the NETCONF User | 61 Start the NETCONF-over-TLS Session | 62 NETCONF and Shell Sessions over Outbound HTTPS | 64 Understanding NETCONF and Shell Sessions over Outbound HTTPS | 64 How to Establish NETCONF and Shell Sessions over Outbound HTTPS | 68 Obtain an X.509 Certificate for the gRPC Server | 69 Set Up the gRPC Server | 72 Configure the User Account for the NETCONF or Shell User | 74 Configure the Outbound HTTPS Client (Junos OS Release 20.2) | 75 Configure the Outbound HTTPS Clients (Junos OS Release 20.3R1 and later) | 76 Configure the Extension Service for Outbound HTTPS on Devices Running Junos OS | 78 Start the NETCONF or Shell Session | 81 Connect to the NETCONF Server Using SSH | 83 v Start a NETCONF Session | 85 Exchanging <hello> Tag Elements | 85 Verifying Compatibility | 87 Send Requests to the NETCONF Server | 89 Operational Requests | 90 Configuration Information Requests | 91 Configuration Change Requests | 92 Parse the NETCONF Server Response | 93 Operational Responses | 94 Configuration Information Responses | 95 Configuration Change Responses | 95 Parse Response Tag Elements Using a Standard API in NETCONF and Junos XML Protocol Sessions | 96 Understanding Character Encoding on Juniper Networks Devices | 97 Handle an Error or Warning in a NETCONF Session | 98 Lock and Unlock the Candidate Configuration Using NETCONF | 100 Locking the Candidate Configuration | 101 Unlocking the Candidate Configuration | 102 Terminate a NETCONF Session | 103 End a NETCONF Session and Close the Connection | 105 Sample NETCONF Session | 105 Exchanging Initialization Tag Elements | 106 Sending an Operational Request | 106 Locking the Configuration | 107 Changing the Configuration | 108 Committing the Configuration | 109 Unlocking the Configuration | 110 Closing the NETCONF Session | 110 Configure RFC-Compliant NETCONF Sessions | 111 NETCONF Event Notifications | 116 NETCONF Event Notifications Overview | 117 vi NETCONF Event Notification Format | 118 How to Enable and Subscribe to NETCONF Event Notifications | 119 Enable the NETCONF Event Notification Service | 120 Subscribe to Receive Event Notifications | 121 Terminate the Subscription | 122 NETCONF Tracing Operations | 123 NETCONF and Junos XML Protocol Tracing Operations Overview | 123 Example: Trace NETCONF and Junos XML Protocol Session Operations | 125 Requirements | 125 Overview | 125 Configuration | 126 Verification | 128 NETCONF Protocol Operations | 131 <close-session/> | 131 <commit> | 132 <copy-config> | 134 <delete-config> | 136 <discard-changes/> | 137 <edit-config> | 138 <get> | 141 <get-config> | 143 <kill-session> | 145 <lock> | 147 <unlock> | 148 <validate> | 149 NETCONF Request and Response Tags | 151 End-of-document Character Sequence | 151 <data> | 153 vii <error-info> | 154 <hello> | 155 <ok/> | 157 <rpc> | 157 <rpc-error> | 158 <rpc-reply> | 160 <target> | 161 Junos XML Protocol Elements Supported in NETCONF Sessions | 164 <abort/> | 165 <abort-acknowledgement/> | 166 <checksum-information> | 167 <close-configuration/> | 168 <commit-configuration> | 169 <commit-results> | 174 <commit-revision-information> | 176 <database-status> | 178 <database-status-information> | 180 <end-session/> | 181 <get-checksum-information> | 182 <get-configuration> | 184 <load-configuration> | 190 <load-configuration-results> | 197 <lock-configuration/> | 198 <open-configuration> | 199 <reason> | 201 <request-end-session/> | 202 viii <routing-engine> | 203 <unlock-configuration/> | 205 <xnm:error> | 206 <xnm:warning> | 209 Junos XML Protocol Element Attributes Supported in NETCONF Sessions | 212 junos:changed-localtime | 212 junos:changed-seconds | 213 junos:commit-localtime | 214 junos:commit-seconds | 215 junos:commit-user | 216 operation | 217 replace-pattern | 219 xmlns | 221 3 Manage Configurations Using NETCONF Change the Configuration Using NETCONF | 224 Edit the Configuration Using NETCONF | 224 Upload and Format Configuration Data in a NETCONF Session | 226 Referencing Configuration Data Files | 227 Streaming Configuration Data | 229 Formatting Data: Junos XML versus CLI Configuration Statements | 231 Set the Edit Configuration Mode in a NETCONF Session | 233 Specifying the merge Data Mode | 235 Specifying the replace Data Mode | 236 Specifying the none (no-change) Data Mode | 236 Handle Errors While Editing the Candidate Configuration in a NETCONF Session | 238 Replace the Candidate Configuration Using NETCONF | 239 Using <copy-config> to Replace the Configuration | 240 Using <edit-config> to Replace the Configuration | 240 ix Rolling Back to a Previously Committed Configuration | 241 Replacing the Candidate Configuration with the Rescue Configuration | 242 Roll Back Uncommitted Changes in the Candidate Configuration Using NETCONF | 244 Delete the Configuration Using NETCONF | 245 Change Individual Configuration Elements Using NETCONF | 246 Merge Configuration Elements Using NETCONF | 247 Create Configuration Elements Using NETCONF | 250 Delete Configuration Elements Using NETCONF | 252 Deleting a Hierarchy Level or Container Object | 253 Deleting a Configuration Object That Has an Identifier | 254 Deleting a Single-Value or Fixed-Form Option from a Configuration Object | 256 Deleting Values from a Multi-value Option of a Configuration Object | 257 Replace Configuration Elements Using NETCONF | 260 Replace Patterns in Configuration Data Using the NETCONF or Junos XML Protocol | 262 Replacing Patterns Globally Within the Configuration | 263 Replacing Patterns
Recommended publications
  • Networker Module for SAP 18.2 Administration Guide CONTENTS
    Dell EMC NetWorker Module for SAP Version 18.2 Administration Guide 302-005-292 REV 02 Copyright © 2009-2019 Dell Inc. or its subsidiaries. All rights reserved. Published May 2019 Dell believes the information in this publication is accurate as of its publication date. The information is subject to change without notice. THE INFORMATION IN THIS PUBLICATION IS PROVIDED “AS-IS.“ DELL MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. USE, COPYING, AND DISTRIBUTION OF ANY DELL SOFTWARE DESCRIBED IN THIS PUBLICATION REQUIRES AN APPLICABLE SOFTWARE LICENSE. Dell, EMC, and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be the property of their respective owners. Published in the USA. Dell EMC Hopkinton, Massachusetts 01748-9103 1-508-435-1000 In North America 1-866-464-7381 www.DellEMC.com 2 NetWorker Module for SAP 18.2 Administration Guide CONTENTS Figures 9 Tables 11 Preface 13 Chapter 1 Overview of NMSAP Features 17 Road map for NMSAP operations............................................................... 18 Terminology that is used in this guide......................................................... 19 Importance of backups and the backup lifecycle.........................................19 NMSAP features for all supported applications.......................................... 20 Scheduled backups........................................................................20
    [Show full text]
  • Expert Python Programming Third Edition
    Expert Python Programming Third Edition Become a master in Python by learning coding best practices and advanced programming concepts in Python 3.7 Michał Jaworski Tarek Ziadé BIRMINGHAM - MUMBAI Expert Python Programming Third Edition Copyright © 2019 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Kunal Chaudhari Acquisition Editor: Chaitanya Nair Content Development Editor: Zeeyan Pinheiro Technical Editor: Ketan Kamble Copy Editor: Safis Editing Project Coordinator: Vaidehi Sawant Proofreader: Safis Editing Indexer: Priyanka Dhadke Graphics: Alishon Mendonsa Production Coordinator: Shraddha Falebhai First published: September 2008 Second edition: May 2016 Third edition: April 2019 Production reference: 1270419 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78980-889-6 www.packtpub.com To my beloved wife, Oliwia, for her love, inspiration, and her endless patience.
    [Show full text]
  • Introduction to GNU/Linux and the Shell 07/10/2019 | J
    Introduction to GNU/Linux and the Shell 07/10/2019 | J. Albert-von der Gönna Leibniz Supercomputing Centre Bavarian Academy of Sciences and Humanities IT Service Backbone for the Advancement of Science and Research Computer Centre 250 for all Munich Universities employees approx. Regional Computer Centre for all Bavarian Universities National Supercomputing Centre 57 (GCS) years of European Supercomputing Centre IT support (PRACE) Introduction to GNU/Linux and the Shell | 07/10/2019 | J. Albert-von der Gönna 3 Course Information • The aim of this course is to provide an introduction to GNU/Linux and the Unix Shell • You will probably benefit the most, if you’re not yet familiar with GNU/Linux and the Unix Shell, but if you plan to work on the HPC and/or Compute Cloud infrastructure provided by LRZ -> by the end of this workshop, you should have the basic skills to successfully interact with GNU/Linux-based systems • Consider the following – especially during hands-on sessions: -> you may want to partner up with the person sitting next to you -> it may be beneficial to sit back and watch the slides/demos -> the slides will be made available after the workshop -> generally: please ask, if you have any questions Introduction to GNU/Linux and the Shell | 07/10/2019 | J. Albert-von der Gönna 4 What is GNU/Linux • Free and open-source operating system • Alternative to Microsoft Windows, Apple macOS, Google Android … • Generally consists of the Linux kernel, libraries and tools, a desktop environment and various applications (e.g. web browser, office suite, …) • Different distributions: Arch Linux, Debian, Fedora/RHEL, openSUSE/SLES, Ubuntu, … Introduction to GNU/Linux and the Shell | 07/10/2019 | J.
    [Show full text]
  • Dtrace-Ebook.Pdf
    The illumos Dynamic Tracing Guide The contents of this Documentation are subject to the Public Documentation License Version 1.01 (the “License”); you may only use this Documentation if you comply with the terms of this License. Further information about the License is available in AppendixA. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the publisher was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol, or printed with initial capital letters or in all capitals. This distribution may include materials developed by third parties. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark of The Open Group. illumos and the illumos logo are trademarks or registered trademarks of Garrett D’Amore. Sun, Sun Microsystems, StarOffice, Java, and Solaris are trademarks or registered trademarks of Oracle, Inc. or its subsidiaries in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. DOCUMENTATION IS PROVIDED “AS IS” AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTA- TIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. Copyright © 2008 Sun Microsystems, Inc.
    [Show full text]
  • Latest Versions Are Shown by Default
    HPC wiki Documentation Release 2.0 Hurng-Chun Lee, Daniel Sharoh, Edward Gerrits, Marek Tyc, Mike van Engelenburg, Mariam Zabihi Sep 15, 2021 Contents 1 About the wiki 1 2 Table of Contents 3 2.1 High Performance Computing for Neuroimaging Research.......................3 2.2 Linux tutorial...............................................4 2.3 Introduction to the Linux BASH shell.................................. 21 2.4 The HPC cluster............................................. 37 2.5 The project storage............................................ 102 2.6 Linux & HPC workshops........................................ 105 i ii CHAPTER 1 About the wiki This wiki contains materials used by the Linux and HPC workshop held regularly at Donders Centre for Cognitive Neuroimaging (DCCN). The aim of this workshop is to provide researchers the basic knowledage to use the High- Performance Computing (HPC) cluster for data analysis. During the workshop, the wiki is used in combination with lectures and hands-on exercises; nevertheless, contents of the wiki are written in such that they can also be used for self-learning and references. There are two major sessions in this wiki. The Linux basic consists of the usage of the Linux operating system and an introduction to the Bash scripting language. After following the session, you should be able to create text-based data files in a Linux system, and write a bash script to perform simple data analysis on the file. The cluster usage focuses on the general approach of running computations on the Torque/Moab cluster. After learning this session, you should be knowing how to distribute data analysis computations to the Torque/Moab cluster at DCCN. 1 HPC wiki Documentation, Release 2.0 2 Chapter 1.
    [Show full text]
  • Data-Driven Program Analysis Deployment Anton Ljungberg, David Åkerman
    MASTER’S THESIS 2020 Data-driven Program Analysis Deployment Anton Ljungberg, David Åkerman ISSN 1650-2884 LU-CS-EX 2020-17 DEPARTMENT OF COMPUTER SCIENCE LTH j LUND UNIVERSITY EXAMENSARBETE Datavetenskap LU-CS-EX: 2020-17 Data-driven Program Analysis Deployment Anton Ljungberg, David Åkerman Data-driven Program Analysis Deployment Anton Ljungberg David Åkerman [email protected] [email protected] June 22, 2020 Master’s thesis work carried out at Axis Communications. Supervisors: Emma Söderberg, [email protected] Gustaf Lundh, [email protected] Jon Sten, [email protected] Examiner: Görel Hedin, [email protected] Abstract Program analysis is useful for reporting code defects that can be hard or time consuming for a developer to nd, but usability issues make many developers choose not to analyze their code with such tools. False positives introduce a lack of trust in reported defects. When users can not trust reported defects, they need to spend time on defect validation. Incomprehensible and excessively large results gets in the way of the development process. A promising approach addressing the usability issues of program analysis tools is to adapt the tools to the needs of users by making data-driven improvements. In this thesis we have created, deployed and evaluated a data-driven program analysis system. We have implemented a system named MEAN (Meta Analysis), together with a handful of protocols for running standardized program analysis within a variety of tool stacks. MEAN has been deployed at Axis Communica- tions with code review as an integration point, where 20 850 program analysis alerts reached the developers.
    [Show full text]
  • DOMAIN/IX User's Guide Order No.: 005803 Revision: 01 Date of Publication: December, 1986
    o DOMAIN/IX o User's Guide , Order No. 005803 Revision 01 o o Apollo Computer Inc. 330 Billerica Road Chelmsford, MA 01824 o Copyright © 1986 Apollo Computer Inc. All rights reserved. Printed in U.S.A. First Printing: July, 1985 Latest Printing: December, 1986 This document was produced using the Interleaf Workstation Publishing Software (WPS). Interleaf and WPS are trademarks of Interleaf, Inc. APOLLO and DOMAIN are registered trademarks of Apollo Computer Inc. AEGIS, DGR, DOMAIN/BRIDGE, DOMAIN/DFL-100, DOMAIN/DQC-100, DOMAIN/Dialogue, DOMAIN/IX, DOMAIN/Laser-26, DOMAIN/PCI, DOMAIN/SNA, D3M, DPSS, OSEE, GMR, and GPR are trademarks of Apollo Computer Inc. UNIX is a registered trademark of AT&T. Apollo Computer Inc. reserves the right to make changes in specifications and other information contained in this publication without prior notice, and the reader should in all cases consult Apollo Computer Inc. to determine whether any such changes have been made. THE TERMS AND CONDITIONS GOVERNING THE SALE OF APOLLO COMPUTER INC. HARDWARE PRODUCTS AND THE LICENSING OF APOLLO COMPUTER INC. SOFTWARE CONSIST SOLELY OF THOSE SET FORTH IN THE WRITTEN CONTRACTS BETWEEN APOLLO COMPUTER INC. AND ITS CUSTOMERS. NO REPRESENTATION OR OTHER AFFIRMATION OF FACT CONTAINED IN THIS PUBLICATION, INCLUDING BUT NOT LIMITED TO STATEMENTS REGARDING CAPACITY , RESPONSE-TIME PERFORMANCE , SUITABILITY FOR USE OR PERFORMANCE OF PRODUCTS DESCRIBED HEREIN SHALL BE DEEMED TO BE A WARRANTY BY APOLLO COMPUTER INC. FOR ANY PURPOSE, OR GIVE RISE TO ANY LIABILITY BY APOLLO COMPUTER INC. WHATSOEVER. IN NO EVENT SHALL APOLLO COMPUTER INC. BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS) ARISING OUT OF OR RELATING TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT, EVEN IF APOLLO COMPUTER INC.
    [Show full text]
  • Extensible Interactive C
    Extensible Interactive C Edmond J. Breen August 16, 2009 2 Contents Preface v 1 Introduction to EiC 1 1.1 EiCvsC .................................... 2 1.2 RunningEiC .................................. 3 1.2.1 EiC immediate instructions . 4 1.2.2 EiCerrorrecovery ........................... 5 1.2.3 Entering multi line commands . 6 1.2.4 EiConstartup............................. 7 1.2.5 EiC command line switches . 8 1.2.6 EiChistoryfile ............................. 9 1.2.7 EiCnon-interactivemode . 10 1.2.8 Embedding or linking to EiC . 13 1.3 TheEiCinterpreter............................... 17 1.3.1 EiCcommands ............................. 17 2 The EiC Preprocessor 35 2.1 Directives .................................... 35 2.2 TheDefineDirective .............................. 36 2.2.1 FunctionLikeMacros. 36 2.3 TheUndefDirective .............................. 38 2.4 MacroExpansionRules. .. .. 38 2.4.1 The Stringization Operator: # ..................... 39 2.4.2 The Merging Operator: ## ....................... 40 2.5 PredefinedMacros ............................... 40 2.6 TheIncludeDirective.. .. .. 42 2.7 TheConditionalDirective . .. 42 2.7.1 The #ifdef and #ifndef directives.................. 43 2.7.2 The #if directive............................ 43 i ii CONTENTS 2.7.3 The #elif directive........................... 44 2.7.4 Thedefinedoperator . .. .. .. 44 2.8 The #error directive .............................. 45 2.9 The #pragma directive ............................. 45 2.10 SyntaxoftheEiCpreprocessor . ... 46 3 EiC’s C Specifications 49
    [Show full text]
  • 817-6223.Pdf
    Solaris DynamicTracing Guide Part No: 817–6223–12 September 2008 Copyright ©2008Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more U.S. patents or pending patent applications in the U.S. and in other countries. U.S. Government Rights – Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. This distribution may include materials developed by third parties. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, the Solaris logo, the Java Coffee Cup logo, docs.sun.com, Java, StarOfficeJava, and Solaris are trademarks orregistered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. The OPEN LOOK and Sun Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry.
    [Show full text]
  • Ruby Language
    Ruby Language #ruby Table of Contents About 1 Chapter 1: Getting started with Ruby Language 2 Remarks 2 Versions 2 Examples 2 Hello World from IRB 2 Hello World with tk 3 Example code: 3 Hello World 4 Hello World without source files 4 Hello World as a Self-Executable File—using Shebang (Unix-like operating systems only) 4 My First Method 5 Overview 5 Explanation 5 Chapter 2: Arrays 6 Syntax 6 Examples 6 #map 6 Creating an Array with the literal constructor [ ] 6 Create Array of Strings 7 Create Array of Symbols 7 Create Array with Array::new 7 Manipulating Array Elements 8 Arrays union, intersection and difference 9 Filtering arrays 10 Select 10 Reject 10 Inject, reduce 10 Accessing elements 11 Two-dimensional array 12 Arrays and the splat (*) operator 12 Decomposition 13 Turn multi-dimensional array into a one-dimensional (flattened) array 15 Get unique array elements 15 Get all combinations / permutations of an array 15 Create an Array of consecutive numbers or letters 16 Remove all nil elements from an array with #compact 17 Create Array of numbers 17 Cast to Array from any object 18 Chapter 3: Blocks and Procs and Lambdas 20 Syntax 20 Remarks 20 Examples 20 Proc 20 Lambdas 21 Objects as block arguments to methods 22 Blocks 22 Yielding 23 Variables 24 Converting to Proc 24 Partial Application and Currying 25 Currying and Partial Applications 26 More useful examples of currying 26 Chapter 4: C Extensions 28 Examples 28 Your first extension 28 Working with C Structs 29 Writing Inline C - RubyInLine 30 Chapter 5: Casting (type conversion)
    [Show full text]
  • Oracle Solaris 11.1 Dynamic Tracing Guide
    Oracle® Solaris 11.1 DynamicTracing Guide Part No: E28556–01 October 2012 Copyright © 2011, 2012, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS. Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including anyoperating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government. This software or hardware is developed for general use in a variety of information management applications.
    [Show full text]
  • Red Hat Enterprise Linux 8 Packaging and Distributing Software
    Red Hat Enterprise Linux 8 Packaging and distributing software A guide to packaging and distributing software in Red Hat Enterprise Linux 8 Last Updated: 2021-08-04 Red Hat Enterprise Linux 8 Packaging and distributing software A guide to packaging and distributing software in Red Hat Enterprise Linux 8 Legal Notice Copyright © 2021 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent.
    [Show full text]