Tuple is similar to List in python language, both are sequential, index based data structure.
The main difference between tuples and list is that tuples are immutable i.e. we cannot modify a tuple’s content but List is mutable data structure. Also, tuples uses parenthesis and list uses square brackets.
This article will discuss about following in Tuples:
- Create an Empty Tuple
- Create Tuple with Homogeneous Elements
- Create Tuple with Heterogeneous Elements
- Create Tuple with Single Element
- Modify Elements of Tuple
- Accessing Elements of Tuple – From the Front
- Accessing Elements of Tuple – From the Back
- Search Within a Tuple
- Add Elements to a Tuple
- Delete an Element from a Tuple
- Iterate Over a Tuple
- Concatenation of Tuples
- Identify Length of a Tuple
- Slice a Tuple
- Count the Number of Elements in a Tuple
- Identify the Index of an Element in a Tuple
- All Tuple Examples in one Example tuples.py Program
In your AWS environment, for configuration management, you can use AWS OpsWorks which provides managed instances of either Chef or Puppet. You have the following three options when using AWS OpsWorks.
- AWS Opsworks for Chef Automate
- AWS OpsWorks for Puppet Enterprise
- AWS OpsWorks Stacks – This is for application modeling and management. You can model your app as a stack with different layers (e.g: web layer, db layer, etc.). This uses Chef solo in the backend to configure nodes.
This tutorial provides the following examples on how you can manage your AWS OpsWorks servers from CLI using aws opsworks-cm command.
- Create OpsWorks Server (Chef or Puppet) using create-server
- View OpsWorks Server Details using describe-servers
- Delete an OpsWorks Server using delete-server
- View Account Attributes and Server Events of a Server
- Update Server Maintenance and Backup Window using update-server
- Disable or Enable Automated Backups
- Specify Backup Retention Count
- Reset Chef Server’s Private Key (or) Update Puppet Admin Password
- Take a Backup of OpsWorks Server using backup-server
- View Available Backups using describe-backups
- Delete an OpsWorks Backup using delete-backup
- Restore OpsWorks Server from a Backup using restore-server
OOP stands for Object Oriented Programming. This concept is a style of solving programming problems where properties and behavior of a real-life object is packaged as a single entity in the code.
This style of coding enables modularizing and scaling with least amount of issues.
Python is a dynamically typed, high level interpreted programming language. Python supports several OOP features including the following:
- Classes and Objects
While using git, for most part, you shouldn’t be working directly on the master branch.
Any development work, or hotfixes, or research work that you do, you’ll typically create a new branch, and make changes to your code on that branch.
If you are happy with your code changes on your branch, then you’ll merge it to the master branch.
Or, if you created a branch to quickly test something by making some code change without the intention of keeping your code change, then after your testing, you can simply discard your code changes by deleting the branch that you created for your testing purpose. This way, the code in your master branch is not affected.
This tutorial explains the following steps:
- Create a new dev branch
- Do your work on local dev branch
- Push dev branch from your local to central git repository
- Once your work is done, merge dev branch to master
- Finally, delete the dev branch from both local and central git repository
Splunk supports three types of authentication: Native Authentication, LDAP and Scripted Authentication API.
For most part, Native Authentication is referred as Splunk authentication, which takes high priority over any external authentication.
So, if an user exists in both Splunk native authentication and LDAP, Splunk will use the user in the native authentication.
Typically, you’ll create an user, and then assign the user to a role. This is called role-based access control system. You can do this either using Splunk CLI or from Splunk Web.
Slice is an essential component of Go programming language.
When writing a go program, for most common use-cases, you’ll be using slice instead of array.
An array is fixed in size. But slices can be dynamic. The number of elements in a slice can grow dynamically.
But, keep in mind that slice uses array in the backend. Slice by itself doesn’t store any data. Think of slice like a reference to an array. All it does is to describe part of the underlying array.
This tutorial explains the following slice concepts:
- Declare Slice Variable and Make a Slice with X number of Elements
- Declare and Initialize Slice at the same time without using Make
- Initialize a Slice using Multi-Line Syntax
- Assign a Value to a Specific Element in a Slice
- Access a particular Element in a Slice
- Display All or Specific Elements from a Slice
- Create Slice with Low and High values using Colon Syntax
- Slice Refers to an Array underneath – Implication of Changing Slice Element Value
- Slice of Structs
- Identify Length of a Slice – How many Elements are there?
- Slice Capacity – Length vs Capacity
- Empty Slice without an Array Underneath
- Append one or more Elements to an existing Slice
- Copy elements from one Slice to another (Duplicate Slice)
- Two Dimensional Slices
- Loop through Slice Elements using For and Range
- Loop through a Slice and get only the Values (Ignore Slice Index)
- Full Working GoLang Code with All Slice Examples
For details on Go Array, refer to our previous tutorial: 12 Practical Go Array Examples
To use AWS CLI, you need to first make sure your AWS access key credentials are configured properly.
Once you have your AWS access_key_id and secret_access_key, you can either manually add them to the credentials file, or use aws configure command to set it up on your local machine.
This tutorials explains all the options available in aws configure command along with how to manage multiple profiles:
- First Time Configuring AWS Credentials – Default Profile
- ~/.aws Directory – Config and credentials File for Default Profile
- Edit Default Profile Credentials – Connect to Different AWS Account
- Create Multiple AWS Profiles – Dev and Prod
- ~/.aws Directory – Config and credentials File for Multiple Profiles (Dev and Prod)
- Switching Between Different AWS Profiles using –profile Option
- Switching Between Different AWS Profiles using AWS_PROFILE Env Variable
- View Profile Information using list Option
- Change Default Config and Credentials FileName and Location
- View a Specific Profile Parameter Value using get Option
- Set a Specific Profile Parameter Value using set Option
- Add New Model using add-model Option
To get a good handle on Go programming language, it is essential to understanding arrays and slices.
If you are developer, or sysadmin who is new to Go, it is important to understand the following key differences in how array is handled in Go when compared to other language:
- You cannot change the size of the array once it is declare.
- The array size should be specified when you declare an array. To overcome this limitation, you’ll be using slices for most part in GoLang. But, it still sill important to understand how array works, as slices works on top of array.
- When you assign an array to another array, essentially you are copying all the elements from one to another.
- The above is important to understand, as when you are passing an array as a parameter in an function, the function will really get a copy of the array and will work on it. It is not a pointer that we are passing. It is copy of the whole array.
This tutorial explains the following basics of array handling in Go, with a full working example along with the output that is provided at the end of this tutorial.