Moving gemspec and files to root directory
This commit is contained in:
Родитель
9308672b82
Коммит
7156b729d4
|
@ -1,463 +0,0 @@
|
|||
# Getting Started with Azure Service Management
|
||||
|
||||
## Install the rubygem package
|
||||
|
||||
You can install the azure rubygem package directly.
|
||||
|
||||
```bash
|
||||
gem install azure
|
||||
```
|
||||
Azure storage is in its own azure-storage [gem](https://rubygems.org/gems/azure-storage) and [GitHub repo](https://github.com/Azure/azure-storage-ruby)
|
||||
|
||||
## Setup Connection
|
||||
|
||||
You can use this SDK against the Microsoft Azure Services in the cloud, or against the local Storage Emulator if you are on Windows. Service Bus and Microsoft Azure Service Management emulation are not supported. Of course, to use the Microsoft Azure Services in the cloud, you need to first [create a Microsoft Azure account](http://www.azure.com/en-us/pricing/free-trial/). After that, you can get the information you need to configure Storage and Service Bus from the [Microsoft Azure Portal](https://manage.windowsazure.com).
|
||||
|
||||
There are two ways you can set up the connections:
|
||||
|
||||
1. [via code](#via-code)
|
||||
2. [via environment variables](#via-environment-variables)
|
||||
|
||||
<a name="via-code"></a>
|
||||
### Via Code
|
||||
* Against Microsoft Azure Services in the cloud
|
||||
|
||||
```ruby
|
||||
|
||||
require "azure"
|
||||
|
||||
Azure.storage_account_name = "<your azure storage account name>"
|
||||
Azure.storage_access_key = "<your azure storage access key>"
|
||||
|
||||
# Configure these 3 properties to use Service Bus
|
||||
Azure.sb_namespace = "<your azure service bus namespace>"
|
||||
Azure.sb_access_key = "<your azure service bus access key>"
|
||||
Azure.sb_issuer = "<your azure service bus issuer>"
|
||||
|
||||
# Configure these 3 properties to use Service Management. We support passwordless pfx & pem cert formats.
|
||||
Azure.management_certificate = "<path to your *.pem or *.pfx>"
|
||||
Azure.subscription_id = "<your Subscriptionid>"
|
||||
|
||||
# Configure a ca_cert.pem file if you are having issues with ssl peer verification
|
||||
Azure.ca_file = "./ca_file.pem"
|
||||
|
||||
# Or create a specific instance of an Azure.client, which will inherit your default configuration settings.
|
||||
client = Azure.client(storage_account_name: "your account name", storage_access_key: "your access key")
|
||||
|
||||
```
|
||||
|
||||
* Against local Emulator (Windows Only)
|
||||
|
||||
```ruby
|
||||
|
||||
require "azure"
|
||||
|
||||
# Configure these 2 properties to use local Storage Emulator
|
||||
Azure.storage_account_name = "devstoreaccount1"
|
||||
Azure.storage_access_key = "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="
|
||||
|
||||
Azure.storage_blob_host = "http://127.0.0.1:10000/devstoreaccount1"
|
||||
Azure.storage_queue_host = "http://127.0.0.1:10001/devstoreaccount1"
|
||||
Azure.storage_table_host = "http://127.0.0.1:10002/devstoreaccount1"
|
||||
|
||||
# For Azure Government make sure to provide the full URI to the endpoint
|
||||
# End point mapping at https://azure.microsoft.com/en-us/documentation/articles/azure-government-developer-guide/
|
||||
|
||||
# Local Service Bus Emulator is not supported
|
||||
# Local Service Management emulation is not supported
|
||||
|
||||
```
|
||||
|
||||
<a name="via-environment-variables"></a>
|
||||
### Via Environment Variables
|
||||
|
||||
* Against Microsoft Azure Services in the cloud
|
||||
|
||||
* Storage
|
||||
|
||||
```bash
|
||||
AZURE_STORAGE_ACCOUNT = <your azure storage account name>
|
||||
AZURE_STORAGE_ACCESS_KEY = <your azure storage access key>
|
||||
```
|
||||
* Service Bus
|
||||
|
||||
```bash
|
||||
AZURE_SERVICEBUS_NAMESPACE = <your azure service bus namespace>
|
||||
AZURE_SERVICEBUS_ACCESS_KEY = <your azure service bus access key>
|
||||
AZURE_SERVICEBUS_ISSUER = <your azure service bus issuer>
|
||||
```
|
||||
* Service Management
|
||||
|
||||
```bash
|
||||
AZURE_MANAGEMENT_CERTIFICATE = <path to *.pem or *.pfx>
|
||||
AZURE_SUBSCRIPTION_ID = <your subscription ID>
|
||||
AZURE_MANAGEMENT_ENDPOINT = <The endpoint URL of Microsoft Azure management service>
|
||||
AZURE_SQL_DATABASE_MANAGEMENT_ENDPOINT = <SQL Database Management Endpoint>
|
||||
AZURE_SQL_DATABASE_AUTHENTICATION_MODE = <:management_certificate or :sql_server>
|
||||
```
|
||||
* [SSL Certificate File](https://gist.github.com/fnichol/867550)
|
||||
|
||||
```bash
|
||||
SSL_CERT_FILE=<path to *.pem>
|
||||
```
|
||||
* Against local Emulator (Windows Only)
|
||||
|
||||
* Storage
|
||||
|
||||
```bash
|
||||
AZURE_STORAGE_ACCOUNT = devstoreaccount1
|
||||
AZURE_STORAGE_ACCESS_KEY = Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
|
||||
AZURE_STORAGE_BLOB_HOST = http://127.0.0.1:10000/devstoreaccount1
|
||||
AZURE_STORAGE_QUEUE_HOST = http://127.0.0.1:10001/devstoreaccount1
|
||||
AZURE_STORAGE_TABLE_HOST = http://127.0.0.1:10002/devstoreaccount1
|
||||
```
|
||||
* Service Bus: not supported
|
||||
|
||||
* Service Management: not supported
|
||||
|
||||
# Usage
|
||||
|
||||
<a name="storage"></a>
|
||||
## Storage
|
||||
|
||||
### Setup your Storage Credentials
|
||||
|
||||
```ruby
|
||||
|
||||
# Require the azure rubygem
|
||||
require "azure"
|
||||
|
||||
# Add your default storage credentials
|
||||
Azure.storage_account_name = "your account name"
|
||||
Azure.storage_access_key = "your access key"
|
||||
|
||||
# Or create a specific instance of an Azure.client
|
||||
client = Azure.client(storage_account_name: "your account name", storage_access_key: "your access key")
|
||||
|
||||
default_blobs = Azure.blobs # uses the Azure.storage_account_name and Azure.storage_access_key
|
||||
|
||||
blobs = client.blobs # uses the client.storage_account_name and client.storage_access_key
|
||||
|
||||
```
|
||||
Azure storage is available its own azure-storage [gem](https://rubygems.org/gems/azure-storage) and [GitHub repo](https://github.com/Azure/azure-storage-ruby)
|
||||
|
||||
<a name="relays"></a>
|
||||
### Relay
|
||||
|
||||
```ruby
|
||||
|
||||
# Require the azure rubygem
|
||||
require "azure"
|
||||
|
||||
# Create an azure service bus object
|
||||
service_bus = Azure.service_bus
|
||||
|
||||
# Create a relay endpoint with just the endpoint name
|
||||
relay1 = service_bus.create_relay("test-relay-1", { :relay_type => "Http" })
|
||||
|
||||
# Create a relay endpoint with a relay object
|
||||
relay2 = Azure::ServiceBus::Relay.new("test-relay-2")
|
||||
relay2.requires_client_authorization = false
|
||||
relay2 = service_bus.create_relay(relay2)
|
||||
|
||||
# Delete a relay endpoint
|
||||
service_bus.delete_relay("test-relay2")
|
||||
|
||||
```
|
||||
|
||||
<a name="topics"></a>
|
||||
### Topics
|
||||
|
||||
```ruby
|
||||
|
||||
# Require the azure rubygem
|
||||
require "azure"
|
||||
|
||||
# Create an azure service bus object
|
||||
service_bus = Azure.service_bus
|
||||
|
||||
# Create a topic with just the topic name
|
||||
topic1 = service_bus.create_topic("test-topic-1")
|
||||
|
||||
# Create a topic with a topic object
|
||||
topic2 = Azure::ServiceBus::Topic.new("test-topic-2")
|
||||
topic2.max_size_in_megabytes = 2048
|
||||
topic2 = service_bus.create_topic(topic2)
|
||||
|
||||
# Create a subscription
|
||||
subscription = Azure::ServiceBus::Subscription.new("test-subscription-1")
|
||||
subscription.topic = topic1.name
|
||||
subscription = service_bus.create_subscription(subscription)
|
||||
|
||||
# Send a topic message with just the message body
|
||||
azure_service_bus.send_topic_message(topic1, "test topic message")
|
||||
|
||||
# Send a topic message with a brokered message object
|
||||
message = Azure::ServiceBus::BrokeredMessage.new("another test topic message")
|
||||
message.correlation_id = "test-correlation-id-1"
|
||||
service_bus.send_topic_message(topic1, message)
|
||||
|
||||
# Receive a subscription message
|
||||
message = service_bus.receive_subscription_message(topic1.name, subscription.name)
|
||||
|
||||
# Delete a subscription message
|
||||
service_bus.delete_subscription_message(message)
|
||||
|
||||
# Delete a subscription
|
||||
service_bus.delete_subscription(subscription)
|
||||
|
||||
# Delete a topic
|
||||
service_bus.delete_topic(topic1)
|
||||
|
||||
```
|
||||
|
||||
<a name="vms"></a>
|
||||
## Virtual Machine Management
|
||||
|
||||
```ruby
|
||||
|
||||
# Require the azure rubygem
|
||||
require 'azure'
|
||||
|
||||
# Configure these properties
|
||||
Azure.management_certificate = "path to *.pem or *.pfx file"
|
||||
Azure.subscription_id = "your subscription id"
|
||||
|
||||
# Create a virtual machine service object
|
||||
vm_management = Azure.vm_management
|
||||
|
||||
# Get a list of existing virtual machines in your subscription
|
||||
vm_management.list_virtual_machines
|
||||
|
||||
# API to shutdown Virtual Machine
|
||||
vm_management.shutdown_virtual_machine('vm_name', 'cloud_service_name')
|
||||
|
||||
# API to start Virtual Machine
|
||||
vm_management.start_virtual_machine('vm_name', 'cloud_service_name')
|
||||
|
||||
# API to restart Virtual Machine
|
||||
vm_management.restart_virtual_machine('vm_name', 'cloud_service_name')
|
||||
|
||||
# API for add disk to Virtual Machine
|
||||
options = {
|
||||
:disk_label => 'disk-label',
|
||||
:disk_size => 100, #In GB
|
||||
:import => false,
|
||||
:disk_name => 'Disk name' #Required when import is true
|
||||
}
|
||||
vm_management.add_data_disk('vm_name', 'cloud_service_name', options)
|
||||
|
||||
# API to add/update Virtual Machine endpoints
|
||||
endpoint1 = {
|
||||
:name => 'ep-1',
|
||||
:public_port => 996,
|
||||
:local_port => 998,
|
||||
:protocol => 'TCP',
|
||||
}
|
||||
endpoint2 = {
|
||||
:name => 'ep-2',
|
||||
:public_port => 997,
|
||||
:local_port => 997,
|
||||
:protocol => 'TCP',
|
||||
:load_balancer_name => ‘lb-ep2’,
|
||||
:load_balancer => {:protocol => 'http', :path => 'hello'}
|
||||
}
|
||||
vm_management.update_endpoints('vm_name', 'cloud_service_name', endpoint1, endpoint2)
|
||||
|
||||
# API to delete Virtual Machine endpoint
|
||||
vm_management.delete_endpoint('vm_name', 'cloud_service_name', 'endpoint_name')
|
||||
|
||||
# API to delete Virtual Machine
|
||||
options = {
|
||||
:delete_vhd => true
|
||||
}
|
||||
vm_management.delete_virtual_machine('vm_name', 'cloud_service_name', options)
|
||||
|
||||
# API to start deployment
|
||||
params = {
|
||||
:vm_name => 'vm_name',
|
||||
:vm_user => 'azureuser',
|
||||
:image => '5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-63APR20130415',
|
||||
:password => 'Password',
|
||||
:location => 'West US'
|
||||
}
|
||||
options = {
|
||||
:storage_account_name => 'storage_suse',
|
||||
:cloud_service_name => 'cloud_service_name',
|
||||
:deployment_name =>'vm_name',
|
||||
:tcp_endpoints => '80,3389:3390',
|
||||
:private_key_file => './private_key.key', # required for ssh
|
||||
:ssh_port => 2222,
|
||||
:vm_size => 'Small', # Use any Azure VM size
|
||||
:affinity_group_name => 'affinity1',
|
||||
:virtual_network_name => 'xplattestvnet',
|
||||
:subnet_name => 'subnet1',
|
||||
:availability_set_name => 'availabiltyset1',
|
||||
:reserved_ip_name => 'reservedipname'
|
||||
}
|
||||
vm_management.create_virtual_machine(params,options)
|
||||
|
||||
# API usage to add new roles under cloud service creating VM
|
||||
# API add_role create multiple roles under the same cloud service. Atleast a single deployment should be created under a hosted service.
|
||||
params = {
|
||||
:vm_name => 'vm_name',
|
||||
:cloud_service_name => 'cloud_service_name',
|
||||
:vm_user => 'azureuser',
|
||||
:image => 'a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-201305.01-en.us-127GB.vhd',
|
||||
:password => 'ComplexPassword',
|
||||
}
|
||||
options = {
|
||||
:storage_account_name => 'storage_suse',
|
||||
:winrm_transport => ['https','http'], # Currently http(s) is supported.
|
||||
:tcp_endpoints => '80,3389:3390',
|
||||
:private_key_file => './private_key.key', # Required for winrm(https) certificate.
|
||||
:winrm_https_port => 5999,
|
||||
:winrm_http_port => 6999, # Used to open different powershell port
|
||||
:vm_size => 'Small', # Use any Azure VM size
|
||||
:availability_set_name => 'availabiltyset'
|
||||
}
|
||||
vm_management.add_role(params, options)
|
||||
|
||||
```
|
||||
|
||||
<a name="images"></a>
|
||||
## List Images
|
||||
|
||||
```ruby
|
||||
|
||||
# Get a list of available virtual machine images
|
||||
vm_image_management = Azure.vm_image_management
|
||||
vm_image_management.list_virtual_machine_images
|
||||
|
||||
```
|
||||
|
||||
<a name="base-mgmt"></a>
|
||||
## Base Management
|
||||
|
||||
<a name="locations"></a>
|
||||
```ruby
|
||||
|
||||
# Get a list of available regional data center locations
|
||||
base_management = Azure.base_management
|
||||
base_management.list_locations
|
||||
|
||||
```
|
||||
|
||||
<a name="affinity"></a>
|
||||
### Affinity Group Management
|
||||
|
||||
```ruby
|
||||
|
||||
# Require the azure rubygem
|
||||
require 'azure'
|
||||
|
||||
# Create a affinity group service object
|
||||
base_management = Azure.base_management
|
||||
|
||||
# Get a list of affinity group that are provisioned for a subscription.
|
||||
base_management.list_affinity_groups
|
||||
|
||||
# API to delete affinity group
|
||||
base_management.delete_affinity_group('affinity-group-name')
|
||||
|
||||
# API to add a new affinity group to a subscription
|
||||
options = {:description => 'Some Description'}
|
||||
base_management.create_affinity_group('affinity-group-name', 'West US', 'Label Name', options)
|
||||
|
||||
# API to update affinity group
|
||||
options = {:description => 'Some Description'}
|
||||
base_management.update_affinity_group('affinity-group-name', 'Label Name', options)
|
||||
|
||||
# API to list properties associated with the specified affinity group
|
||||
base_management.get_affinity_group('affinity-group-name')
|
||||
|
||||
```
|
||||
|
||||
<a name="sql"></a>
|
||||
## SQL Database Server Management
|
||||
|
||||
```ruby
|
||||
|
||||
# Require the azure rubygem
|
||||
require 'azure'
|
||||
|
||||
# Configure these properties
|
||||
Azure.management_certificate = "path to *.pem or *.pfx file"
|
||||
Azure.subscription_id = "your subscription id"
|
||||
|
||||
# Create a database server service object
|
||||
sql_db_service = Azure.sql_database_management
|
||||
|
||||
# Get a list of SQL Database servers that are provisioned for a subscription.
|
||||
sql_db_service.list_servers
|
||||
|
||||
# API to delete SQL Database server
|
||||
sql_db_service.delete_server('server_name')
|
||||
|
||||
# API to adds a new SQL Database server to a subscription
|
||||
sql_db_service.create_server('admin-login', 'ComplexPassword', 'West US')
|
||||
|
||||
# API to sets the administrative password of a SQL Database server for a subscription
|
||||
sql_db_service.reset_password('server-name', 'NewPassword')
|
||||
|
||||
# Get a list of all the server-level firewall rules for a SQL Database server that belongs to a subscription
|
||||
sql_db_service.list_sql_server_firewall_rules("server-name")
|
||||
|
||||
# API to adds a new server-level firewall rule or updates an existing server-level firewall rule for a SQL Database server with requester’s IP address.
|
||||
sql_db_service.delete_sql_server_firewall_rule("server-name", "rule-name")
|
||||
|
||||
# API to add/updates server-level firewall rule for a SQL Database server that belongs to a subscription
|
||||
ip_range = {:start_ip_address => "0.0.0.1", :end_ip_address => "0.0.0.5"}
|
||||
sql_db_service.set_sql_server_firewall_rule("server-name", "rule-name", ip_range)
|
||||
|
||||
# If ip_range was not specified in the above api then the IP of the machine from where the api is being called would be set as the rule.
|
||||
# To toggle between the option to allow Microsoft Azure services to access db server similar to azure portal just set the fire wall rule
|
||||
# with iprange to be 0.0.0.0 as start and end.Remove the rule to unset this option.
|
||||
|
||||
```
|
||||
|
||||
<a name="vnets"></a>
|
||||
## Virtual Network Management
|
||||
|
||||
```ruby
|
||||
|
||||
# Require the azure rubygem
|
||||
require 'azure'
|
||||
|
||||
# Create a virtual network service object
|
||||
vnet = Azure.network_management
|
||||
|
||||
# API to get a list of virtual networks created for a subscription.
|
||||
vnet.list_virtual_networks
|
||||
|
||||
# API to configure virtual network with required and optional parameters
|
||||
address_space = ['172.16.0.0/12', '10.0.0.0/8', '192.168.0.0/24']
|
||||
subnets = [{:name => 'subnet-1', :ip_address=>'172.16.0.0', :cidr=>12}, {:name => 'subnet-2', :ip_address=>'10.0.0.0', :cidr=>8}]
|
||||
dns_servers = [{:name => 'dns-1', :ip_address=>'1.2.3.4'}, {:name => 'dns-2', :ip_address=>'8.7.6.5'}]
|
||||
options = {:subnet => subnets, :dns => dns_servers}
|
||||
vnet.set_network_configuration('virtual-network-name', 'location_name', address_space, options)
|
||||
|
||||
# API to configure virtual network from xml file that can be exported from management portal and customized to add or delete vnet
|
||||
vnetxml = './customnetwork.xml'
|
||||
vnet.set_network_configuration(vnetxml)
|
||||
|
||||
```
|
||||
|
||||
# Getting Started with Certificates
|
||||
|
||||
Currently the sdk supports *.pem or *.pfx (passwordless pfx) for service management operations. Following are the steps discussed on various cert operations.
|
||||
|
||||
## Get Started with Publish Settings
|
||||
|
||||
* To create a pfx from the publishsettings, simply download the publishsettings file for your subscription
|
||||
[https://manage.windowsazure.com/publishsettings](https://manage.windowsazure.com/publishsettings/index?client=powershell). Make sure you have this gem installed and
|
||||
run `pfxer transform --in [path to your .publishsettings file]`. This will create a .pfx from your publish settings file which can
|
||||
be supplied as a cert parameter for Service Management Commands.
|
||||
|
||||
## Get Started with OpenSSL
|
||||
|
||||
* Using the following openssl commands to create a cert and upload to Azure Management
|
||||
* Generate public and private `openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout cert.pem -out cert.pem`
|
||||
* Generate public .cer for Azure upload `openssl x509 -inform pem -in cert.pem -outform der -out mgmt.cer`
|
||||
* Upload the `mgmt.cer` to Azure Management through [https://management.azure.com](https://management.azure.com)
|
||||
* Use cert.pem as your cert parameter for Service Management Commands.
|
|
@ -1,55 +0,0 @@
|
|||
Bag Attributes
|
||||
localKeyID: 01 00 00 00
|
||||
friendlyName: {D4417DE0-CB19-4947-B5B4-DE6D7F72171D}
|
||||
Microsoft CSP Name: Microsoft Software Key Storage Provider
|
||||
Key Attributes: <No Attributes>
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDlVqp43jiBkO2M
|
||||
YOpCqofHsFHaooZCmYSAxyZGyxQLPEc4Zvft0uzIdQy6QnzN+MQkQ8hWrL+BNp2S
|
||||
NYPFIXY9HYz5BZBMomM/lTsZltLgJSQENE6jTomznCgRy4GNg0hkaGkuhSSbWmBC
|
||||
jmlfJXkbZgfGuc5Lz8BZYPWO5hvP23XIRnVIW44oKcQfvkS80qyyzFNa0vdp3rov
|
||||
WdKV3QfScDIgTr0FQDANYTYWBV/r4xnXndjLOxgVwU3Kp0WPUkCz3uloMRGWs974
|
||||
bpWGwnOblJb4j0X7Q46rTZ4f4HGZlKbeRV/MtPcrZJ+V6ovQ9tz1sUbbCbn4ABag
|
||||
m+6NCcqRAgMBAAECggEAHHRMidsOeTrlUke7AQL9/j9o5H7KOCyqdTzgSaPMLJmx
|
||||
v3R9GeeT48osBlcV+4a8MMCtNF3SE+LWGYwkuXptnGcUdNglH3D9befi0Ym2R8Or
|
||||
7I6d3CK0MJH1IcIVZJyviG+w7ynrURAdRdy8A6dXV5go6lXm296co3ZFeVGhDUCR
|
||||
838zthk0Ltf347nLerhJUhJAIOX7Ct21xMOrbT5KfOVThgTxrZKmP29ORMoqnXN8
|
||||
8SdpHsdqdNro8uSEARyG80g4ZZVPVqZqRLr+cX080lJ4p8GPf/nPOWGGrtGCCEgI
|
||||
1FCX8aWH3PGOSLqo3boSiZfrLHT5BhJsXD/OXJZPzQKBgQD9vl+jiZSHPoo63/JO
|
||||
uKS0kGos6ZZc4WvjXx6JBrtnsOdw9YBAPKEY9VYyKi3fnv1v1gIB65e9rfeF+PmI
|
||||
KXKLwLcZWFRbaaB3xs3Bxo0Yn1tRRvANDAKR8Xfl77B06j2kKrPmfdEbmd3hHJqN
|
||||
ZYG4hj+PR1SQ+0jvwSg7cPtwrQKBgQDnYLxxoejm+JrEVGebvKv3AWDshBN+91dX
|
||||
iM4u5zke4qzocp0RYpjIjkUIb6Y/jwxscZmgetu9keDBAFCPU2ReTjFGmHZiip72
|
||||
xxQLF2dxlqgcSzURW9SjbstB0LUyxbTwIYTTOavHBrvnkw9S4rgLVHTVWzzInWag
|
||||
iw4lbfBp9QKBgC7KTS6F7zqlQK4sn6z+hXi6bKnNhSmpc9CguKvB7wrm5zbAPp8Z
|
||||
zwcgLn3fo0fqNIfL6eDaxcd3bf5pc/I02meE6P6meB/HMY0Fe72w1FHnCNrK/vcY
|
||||
8Nxir55Z/asBis5cBYKKTuYNEIozURij0DDrqIrON3zoqYF0l+umIOedAoGAYiTn
|
||||
ai/qkeaMB5Fh7W6HZxvfmBOiDW4vT0MJal3MHey6uVK8iz5OXmvynlR1qWotM+av
|
||||
6qGSigPR2Swf/9u4rEPwpOhQ9xWjvjvNpbLEvyrPnkjMdtOEC9sYPo+f/KxeRqmB
|
||||
JPPGiIKzu9PmYRsoRC4L7OBplRMnEBxL4NaUbu0CgYEA2z7BuOzuE3QmxaNzbP7+
|
||||
PWkRg0JEFksN/8bRo6fuVMaosEs4jZunCyPk0ne//p+dcKE8cInC9/jGJs5XutUi
|
||||
L8KuTu3ljFOLE/y+8FHR/Hxpvzp8k6iDPl7mvvZJ7gt2aO9IZq3XHoRLbgSUPo2X
|
||||
YlXoh+vo+SQVRQtbxpuk1gM=
|
||||
-----END PRIVATE KEY-----
|
||||
Bag Attributes
|
||||
localKeyID: 01 00 00 00
|
||||
friendlyName: Ruby SDK
|
||||
subject=/CN=Windows Azure Tools
|
||||
issuer=/CN=Windows Azure Tools
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICxDCCAaygAwIBAgIQQ86pQDjNkolP6pILfxFhITANBgkqhkiG9w0BAQUFADAe
|
||||
MRwwGgYDVQQDExNXaW5kb3dzIEF6dXJlIFRvb2xzMB4XDTEzMDUxNjA0NDgzNloX
|
||||
DTE0MDUxNjA0NDgzNlowHjEcMBoGA1UEAxMTV2luZG93cyBBenVyZSBUb29sczCC
|
||||
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVWqnjeOIGQ7Yxg6kKqh8ew
|
||||
UdqihkKZhIDHJkbLFAs8Rzhm9+3S7Mh1DLpCfM34xCRDyFasv4E2nZJ1g8Uhdj0d
|
||||
jPkFkEyiYz+VOxmW0uAlJCQ0TqNOibOcKBHLgY2DSGRoaS6FJJtaYEKOaV8leRtm
|
||||
B8a5zkvPsFlg9Y7mG8/bdchGdUhbjigpxB++RLzSrLLMU1rS92neui9Z0pXdB9Jw
|
||||
MiBOvQVAMA1hNhYFX+vjGded2Ms7GBXBTcqnRY9SQLPe6WgxEZaz3vaulYbCc5uU
|
||||
lviPRftDjqtNnh/gcZmUpt5FX8y09ytkn5Xqi9D23PWxRtsJufgAFqCb7o0JypEC
|
||||
AwEAATANBgkqhkiG9w0BAQUFAAOCAQEAFkhTUWZN3xvh50zvDBRJgvc83kx61Npl
|
||||
J1G6F98aa+mdZmkbXLdNt+dHR+aGg/0RAs97yPoSc9km5uedEpQQD0xDh9X84jSv
|
||||
GnrGTsmjBMJvE8jhT0P/zGfTKfncQOx00cVcNm5F1GdWsni7OcVuOLQ+0se8VHsR
|
||||
JSQBBWQVZOXJp2zYs935jrI47bCCNSNFQ1sAvxFdMeBZKwtmvhp1c6Zl3j/KVbvL
|
||||
S0Izpu1vXvozNDo6HmJPhpONU6qlMfU2iSzUQN21PRt82vMOVx4xyBzbm6vPc50g
|
||||
PR10SWXaXL/UmBlxfJ3nhD1YgqIQtWMdbSQ81j3MzrGrrlIdjPUFOw==
|
||||
-----END CERTIFICATE-----
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PublishData>
|
||||
<PublishProfile
|
||||
SchemaVersion="2.0"
|
||||
PublishMethod="AzureServiceManagementAPI">
|
||||
<Subscription
|
||||
ServiceManagementUrl="https://management.core.windows.net"
|
||||
Id="subscription-id"
|
||||
Name="Fixtures Publish Settings"
|
||||
ManagementCertificate="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" />
|
||||
</PublishProfile>
|
||||
</PublishData>
|
До Ширина: | Высота: | Размер: 2.6 KiB После Ширина: | Высота: | Размер: 2.6 KiB |
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче