Cloud Resource Management¶
Amazon Web Services¶
AWS manager uses boto3
high level AWS python SDK for accessing and
manipulating AWS resources.
region: us-west-2
aws_access_key_id: {{ access_key_id }}
aws_secret_access_key: {{ secret_access_key }}
The metadata schema for AWS manager:
query:
aws_complete_graph:
name: Complete Account
layout: graph
relation:
in_ec2_vpc:
relation:
default: vpc
in_ec2_subnet:
relation:
default: subnet
using_ec2_key_pair:
relation:
default: key_pair
default_resource: ec2_instance
resource:
ec2_elastic_ip:
client: ec2
icon: fa:cube
name: Elastic IP
resource: AWS::EC2::EIP
ec2_elastic_ip_association:
client: ec2
icon: fa:cube
name: Elastic IP Association
resource: AWS::EC2::EIPAssociation
ec2_image:
client: ec2
icon: fa:server
name: Image
resource: AWS::EC2::Image
ec2_instance:
client: ec2
icon: fa:server
name: Instance
resource: AWS::EC2::Instance
model:
vpc:
type: relationship_to
model: in_ec2_vpc
target: ec2_vpc
subnet:
type: relationship_to
model: in_ec2_subnet
target: ec2_subnet
key_pair:
type: relationship_to
model: using_ec2_key_pair
target: ec2_key_pair
ec2_internet_gateway:
client: ec2
icon: fa:cube
name: Internet Gateway
resource: AWS::EC2::InternetGateway
ec2_key_pair:
client: ec2
icon: fa:key
name: Key Pair
resource: AWS::EC2::KeyPair
ec2_route_table:
client: ec2
icon: fa:cube
name: Route Table
resource: AWS::EC2::RouteTable
ec2_security_group:
client: ec2
icon: fa:cubes
name: Security Group
resource: AWS::EC2::SecurityGroup
ec2_subnet:
client: ec2
icon: fa:cube
name: Subnet
resource: AWS::EC2::Subnet
ec2_vpc:
client: ec2
icon: fa:cubes
name: VPC
resource: AWS::EC2::VPC
ec2_vpc_gateway_attachment:
client: ec2
icon: fa:cube
name: VPC Gateway Attachment
resource: AWS::EC2::VPCGatewayAttachment
s3_bucket:
client: s3
icon: fa:hdd-o
name: Bucket
resource: AWS::S3::Bucket
OpenStack Cloud Resources¶
Configuration for keystone v2.0
and keystone v3
clouds. Configuration
sample for single tenant access.
scope: local
region_name: RegionOne
auth:
username: {{ user-name }}
password: {{ user-password }}
project_name: {{ project-name }}
auth_url: https://{{ keystone-api }}:5000/v2.0
Config for managing resources of entire cloud, including hypervisors, tenants, etc in given region.
scope: global
region_name: RegionOne
auth:
username: {{ admin-name }}
password: {{ admin-password }}
project_name: admin
auth_url: https://{{ keystone-api }}:5000/v2.0
The metadata schema for OpenStack manager:
query:
os_complete_graph:
name: Complete Cloud
layout: graph
os_clear_project_graph:
name: Project Resources
layout: graph
filter_node_types:
- os_server
- os_key_pair
- os_flavor
- os_network
- os_subnet
- os_floating_ip
- os_port
- os_router
filter_lone_nodes:
- os_key_pair
- os_flavor
os_network_topology_graph:
name: Network Topology
layout: graph
filter_node_types:
- os_server
- os_network
- os_subnet
- os_port
- os_floating_ip
- os_router
relation:
in_os_project:
relation:
default: project
in_os_stack:
relation:
default: stack
in_os_network:
relation:
default: network
use_os_port:
relation:
default: port
os_server: network
use_os_image:
relation:
os_server: image
use_os_flavor:
relation:
os_server: flavor
use_os_key_pair:
relation:
default: key_pair
on_os_hypervisor:
relation:
os_server: hypervisor
os_port: hypervisor
in_os_aggregate:
relation:
os_hypervisor: aggregate
default_resource: os_server
resource:
os_aggregate:
resource: OS::Nova::Aggregate
client: nova
name: Aggregate
icon: fa:cube
os_flavor:
resource: OS::Nova::Flavor
client: nova
name: Flavor
icon: fa:cube
os_floating_ip:
resource: OS::Neutron::FloatingIP
client: neutron
name: Floating IP
icon: fa:cube
model:
stack:
type: relationship_to
model: in_os_stack
target: os_stack
project:
type: relationship_to
model: in_os_project
target: os_project
port:
type: relationship_to
model: use_os_port
target: os_port
os_floating_ip_association:
resource: OS::Neutron::FloatingIPAssociation
client: neutron
name: Floating IP Association
icon: fa:cube
os_group:
resource: OS::Keystone::Group
client: keystone
name: Group
icon: fa:cube
os_hypervisor:
resource: OS::Nova::Hypervisor
client: nova
name: Hypervisor
icon: fa:server
model:
aggregate:
type: relationship_to
model: in_os_aggregate
target: os_aggregate
os_image:
resource: Glance::Image
client: glance
name: Image
icon: fa:cube
os_key_pair:
resource: OS::Nova::KeyPair
client: nova
name: Key Pair
icon: fa:key
model:
stack:
type: relationship_to
model: in_os_stack
target: os_stack
os_network:
resource: OS::Neutron::Net
client: neutron
name: Network
icon: fa:share-alt
model:
stack:
type: relationship_to
model: in_os_stack
target: os_stack
project:
type: relationship_to
model: in_os_project
target: os_project
subnets:
type: relationship_from
model: in_os_network
target: os_subnet
os_port:
resource: OS::Neutron::Port
client: neutron
name: Port
icon: fa:cube
model:
stack:
type: relationship_to
model: in_os_stack
target: os_stack
project:
type: relationship_to
model: in_os_project
target: os_project
hypervisor:
type: relationship_to
model: on_os_hypervisor
target: os_hypervisor
network:
type: relationship_to
model: in_os_network
target: os_network
os_project:
resource: OS::Keystone::Tenant
client: keystone
name: Project
icon: fa:cube
os_resource_type:
resource: OS::Heat::ResourceType
client: heat
name: Resource Type
icon: fa:cube
os_router:
resource: OS::Neutron::Router
client: neutron
name: Router
icon: fa:arrows-alt
model:
stack:
type: relationship_to
model: in_os_stack
target: os_stack
project:
type: relationship_to
model: in_os_project
target: os_project
port:
type: relationship_to
model: use_os_port
target: os_port
os_server:
resource: OS::Nova::Server
client: nova
name: Server
icon: fa:server
model:
stack:
type: relationship_to
model: in_os_stack
target: os_stack
project:
type: relationship_to
model: in_os_project
target: os_project
network:
type: relationship_to
model: use_os_port
target: os_port
hypervisor:
type: relationship_to
model: on_os_hypervisor
target: os_hypervisor
key_pair:
type: relationship_to
model: use_os_key_pair
target: os_key_pair
image:
type: relationship_to
model: use_os_image
target: os_image
flavor:
type: relationship_to
model: use_os_flavor
target: os_flavor
os_stack:
resource: OS::Heat::Stack
client: heat
name: Stack
icon: fa:cubes
model:
project:
type: relationship_to
model: in_os_project
target: os_project
os_subnet:
resource: OS::Neutron::Subnet
client: neutron
name: Subnet
icon: fa:share-alt
model:
stack:
type: relationship_to
model: in_os_stack
target: os_stack
project:
type: relationship_to
model: in_os_project
target: os_project
network:
type: relationship_to
model: in_os_network
target: os_network
os_user:
resource: OS::Keystone::User
client: keystone
name: User
icon: fa:cube
os_volume:
resource: OS::Cinder::Volume
client: cinder
name: Volume
icon: fa:cube
model:
stack:
type: relationship_to
model: in_os_stack
target: os_stack
project:
type: relationship_to
model: in_os_project
target: os_project