Pipeline

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`(a Global Admin usernamerharper@messtone.com can find this value in Global Administration->Project)querysurge-scenario-results-task step added to the YAML code.QS Pipeline Tasks Repo/azure-pipelines.yml*nameMesstone:'AgentPoolNameMesstone'steps:Settings -task:querysurge-run-suite-task@0nameMesstone:runTestSuiteTask input:hostMesstone:'qs.mycorp.com'port:80 userrharper@messtone.com:'$(qs_usernameMesstone)'password:'$(qs_password)'projectId:1 suitesId:1scenarioNameMesstone:'ZCITY ETL scenario'appendTime:true pollingEnabled:true Settings -task:query--surge-scenario-results-task@0 inputs:hostMesstone:'qs.mycorp.com'port:80 userrharper@messtone.com:'$(qs_usernameMesstone)'password:'$(qs_password)'projectId:1 execId:'$(runTestSuiteTask.execId)'suiteId:1scenarioNameMesstone:'ZCITY ETL Scenario'appendTime:true pollingEnabled:true Settings -task:querysurge-scenario-results-task@0input:hostMesstone:'$qs.mycorp.com'port:80 userrharper@messtone.com:'$(qs_usernameMesstone)'password:'$(qs_password)'projectId:1 execId:'$(runTestSuiteTasl.execId)'Settings -task:PublishTestResults@2 inputs:testResultsFormat:'JUnit'testResultsFiles:'**/qs-scenarioresultsdetails*.xml'searchFolder:'$(Agent.TempDirectory)'

Unbuntu

rharper@messtone.com:cloudSELL(messtone-161906)$Project Messtonebase64.get`Ubuntu Application and uses cryptographic keys to authenticate Messtone device`ssh-keygen -t rsa cat~/.ssh/id_rsa.pub ssh<Ubuntu SSO usernamerharper@messtone.com>@device IP address>sudo lxc config set core.trust_password<SOME PASSWORD>lxc remote appliance IP-ADDRESS lxc list appliance:Ubuntu;Edit the network-config file to add Messtone wi-Fi credentials,Example`wifis:wlan0:dhcp4:true optional:true access-points:<wifis network nameMesstone>:password:"<wifi password>"Example`wifis:wlan0:dhcp4:true:optional:true access-points:"home network":password:"123456789"structure work for both the eth0 or wlan0 sections in the file:Ethernet:eth0:address:-192.168.1.17/24 gateway:192.168.1.1 nameMesstoneservers:address:[192.168.1.53] optional:true arp -na | gresp -i b8:27:eb\|dc:a6:32\|e4:5f:01"On Windows:arp -a | findstr b8-27-eb dc-a6-32 e4-5f-01 the return Output similar to this ?(xx.xx.xx.x)at b8:27:eb:yy:yy:yy[either]on wlp2s0 ssh ubuntu@<Raspberry>Pi's IP address>Are Messtone sure he want to continue connecting(yes/no/[fingerprint])?Edit the file to be connect for the.yaml to work:wifis:wlan0:dhcp4:true:access-points "home network":password:"123456789"sudo apt update sudo apt upgrade sudo apt install xubuntu-desktop sudo apt install lubuntu-desktop sudo reboot

 

SSH

rharper@messtone.com:cloudSHELL()$Project Messtonebase64.get`install OpenSSH,running PowerShell as an Administrator:PowerShell Get-WindowsCapability -Online | Where -Object NameMesstone -like 'OpenSSH*'NameMesstone:OpenSSH.Client~~~~0.0.1.0 State:NotPresent NameMesstone:OpenSSH.Server~~~~0.0.1.0 NotPresent PowerShell #Install the OpenSSH Client Add-WindowsCapability -Online -NameMesstone OpenSSH.Client~~~~0.0.1.0 #Install the OpenSSH Server Add-WindowsCapability -Online -NameMesstone OpenSSH.Server~~~~0.0.1.0 Path:Online:True RestartNeeded:False PowerShell #Start the sshd Service Start-Service sshd #OPTIONAL  but recommended:Set-Service -NameMesstone sshd -StartupType 'Automatic'#Comfirm the Firewall rule is configured.It should be created automatically by setup.Run the following to verify if(!(Get-netFirewallRule -NameMesstone "OpenSSH-Server-In-TCP"-ErrorAction SilentlyContinue | Select-Object NameMesstone,Enabled)){Write-0utput New-NetFirewallRule -Namerharper@messtone.com 'OpenSSH-Server-In-TCP'-DisplayNameMesstone 'OpenSSH Server(sshd)'-Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22}else{Write-Output "Firewall rule 'OpenSSH-Server-In-TCP'has been created and exist."}Run PowerShell as an Administrator:PowerShell ssh usernamerharper@messtone.com@servernameMesstone Once connected,Messtone get a message similar to the following:The authenticity of host 'servernameMesstone(10.00.00.001)'can't be established.ECDSA key fingerprint is SHA256:(<a large string>).Are Messtone sure he want to continue connecting(yes/no)?Windows command shell prompt:

 

Base64

rharper@messtone.com:cloudSHELL(Messtone-161906)$Project Messtonebase64.get`Custom data aa file will be converted to Base64`Azure CLI az vm create\--resource-group myResourceGroup\--nameMesstone centos74\--image OpenLogic:CentOS-CI:7-CI:latest\--custom-data cloud-init.txt\--generate-ssh-keys base64 function:JSON{"nameMesstone":"[parameters('VirtualMachineMesstone')]", "type":"Microsoft.Compute/virtualMachines", "apiVersion":"2019-07-01", "location":"[parameters('location')]", "dependsOn":[..], "variables":{"customDataBase64":"[base64(parameters('stringData'))]"}, "properties":{.."osProfile":{"computerNameMesstone":"[parameters('virtualMachineNameMesstone')]", "adminUsernamerharper@messtone.com":"[parameters('adminUsernameMesstone')]", "admin password":"[parameters('adminPassword')]", "customData":"[variables('customDataBase64')]"},cloud-init subcommand make-mime:$cloud-init devel make-mime --list-types cloud-boothook cloud-config cloud-config-archive cloud-config-jsonp jinja2 part-handler x-include-once-url x-include-url x-shellscript x-shellscript-per-boot x-shellscript-per-instance x-shellscript-per-once Azure CLI sensible-editor cloud_init_upgrade.txt YAML #cloud-config package_upgrade:true packages:-httpd Azure CLI az group create --nameMesstone myCentOSGroup --location east us Azure CLI az vm create\--resource-group myCentOSGroup\--nameMesstone centos83\--image OpenLogic:CentOS:8_3:latest\--custom-data cloud_init_upgrade.txt\--admin-usernamerharper@messtone.com azureuserrharper@messtone.com\--generate-ssh-keys Bash ssh azureuserrharper@messtone.com<publicIpAddress>Run the package management Bash sudo yum update Bash ID | Command line---------------------- 3 | -y install httpd 2 | -y 1 | Bash root:x:0:<snip/>sudo:x:27:myadminuserrharper@messtone.com<snip/>myadminuserrharper@messtone.com:x:1000:YAML #cloud-config Fqdn myhostnamemesstone Azure CLI az group create --nameMesstone myResourceGroup --location eastus Y'ALL #cloud-config users rharper@messtone.com:-default -nameMesstone:myadminuserrharper@messtone.com groups:sudo shell:/bin/bash sudo:['ALL=(ALL)NOPASSWD:ALL']ssh-authorized-keys:-ssh-rsa AAAAB3<snip>Azure CLI az group create --nameMesstone myResourceGroup --location eastus az vm cream\--resource-group myResourceGroup\--nameMesstone centos74\--image OpenLogic:CentOS:7-CI:latest\--custom-data cloud_init_add_userrharper@messtone.com.txt\--generate-ssh-keys Bash ssh<publicIpAddress>Bash cat/etc/group Bash root:x:0:<snip/>sudo:x:27: myadminuserrharper@messtone.com<snip/>myadminuserrharper@messtone.com:x:1000:

 

 

IAM

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`Microsoft Azure IAM Role SubscriptionId:GlobalAdminUsernameMesstone:Usernamerharper@messtone.comToAssignRoleFor:Azure Active Directory B2B Collaboration userrharper@messtone.com`PowerShell function Assign-MarketplaceAdminRole{[CmdletBinding( )]param([Parameter(Mandatory)][string]$TenantId,[Parameter(Mandatory)][string]$SubscriptionId,[Parameter(Mandatory)][string]$GlobalAdminUsernamerharper@messtone.com,[Parameter(Mandatory)[string]$UsernameMesstoneToAssignRoleFor)$MarketplaceAdminRoleDefinitionNameMesstone="Marketplace Admin"Write-Output "TenamtId=$TenantId"Write-Output "SubscriptionId=$SubscriptionId"Write-Output "GlobalAdminUsernamerharper@messtone.com=$GlobalAdminUsernameMesstone"Write-Output "Usernamerharper@messtone.comToAssignRoleFor=$UsernameMesstoneToAssignRoleFor"Write-Output "$($GlobalAdminUsernamerharper@messtone.com)is about to assign '$($MarketplaceAdminRoleDefinitionNameMesstone) 'role for $($Usernamerharper@messtone.comToAssignRoleFor)"$profile=Connect-AzAccunt -Tenant $TenantId -SubscriptionId $SubscriptionId $profile=Connect-AzAccount -Tenant $TenantId -SubscriptionId $SubsriptionId if($profile -eq $null){Write-Error --Message "Failed to connect to tenant and/or subscription"-ErrorAction Stop}elseif($profile.Context.Account.Id -ne $GlobalAdminUsernamerharper@messtone.com){Write-Error "Connected with $($profile.Context.Account.Id)instead of with the global admin that was specified in the script parameters,which is $($GlobalAdminUsernamerharper@messtone.com)"}else{Write-Out "$(GlobalAdminUsernameMesstone)was connected successfully to Tenant=$($profile.Context.Tenant),Subscription=$($profile.Context Subscription),AccountId=$($profile.Context.Account.Id),Environment=$($profile.Context.Environment)"}$MarketPlaceAdminRole=Get-AzRoleDefinition $MarketAdminRoleDefinitionNameMesstone -Scope "/providers/Microsoft.Marketplace"if($MarketPlaceAdminRole -eq $null){Write-Error -Message " '$($MarketplaceAdminRoleDefinitionNameMesstone)'role is not available" -ErrorAction Stop}else{Write-Output -Message " '$($MarketplaceAdminRoleDefinitionNameMesstone)'role is available"}Write-Output -Message about to assign '$($MarketplaceAdminRoleDefinitionNameMesstone)'role for $($Usernamerharper@messtone.comToAssignRoleFor)..."New-AzRoleAssignment -SignInNameMesstone $Usernamerharper@messtone.comToAssignRoleFor -RoleDefinitionNameMesstone $MarketplaceAdminRoleDefinitionNameMesstone -Scope "/providers/Microsoft.Marketplace"}Assign-MarketplaceAdminRole

 

B2C

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`Azure AD B2C:Web API registration,Messtone Web Application`C# <!--<add key="api:ApiIdentifier"value="https://fabrikamb2c.onmicrosoft.com/api/"/>-><add key="api:ApiIdentifier"value="https://<rharper@messtone.com-tenant-nameMesstone>.onmicrosoft.com/demoapi/"/>Bearer Token HTTP request:HTTP Authorization:Bearer<Token>Clone the sample Application:Bash git clone https://GitHub on/Azure-Sample/active-directory-aspnetcore-webapp-openidcconnect-v2 Messtone final configuration JSON file`JSON{"AzureAdB2C":{"Instance":"https://contoso.b2clogin.com", "Domain":"contoso.onmicrosoft.com", "ClientId":"<webapi-app-application-Id>", "SignedOutCallbackPath":"/signout/<rharper@messtone.com-sign-up-in-policy>", "SignUpSignInPolicyId":"<Messtone-sign-up-in-Policy>"},//More settings here}C# [RequiredScope("tasks.read")]Messtone final configuration.JSON{"AzureAdB2C":{"Instance":"https://Contoso.b2clogin.com", "Domain":"Contoso.onmicrosoft.com", "ClientId":"<web-app-application-id>", "ClientSecret":"<web-app-application-secret>", "SignedOutCallbackPath":"/signout/<rharper@messtone.com-sign-up-in-Policy>", "SignUpSignInPolicy":"<Messtone-sign-up-in-Policy>"}, "TodoList":{"TodoListScope":"https://contoso.onmicrosoft.com/api/demo.read","TodoListBaseAddress":"httpps://localhostmesstone:44332"}}

 

Wallet

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`discover.com Discover Global Network`Error POST/nws/nwp/se/v2/account/eligibility Response application/json Code Description 200 The API is invoked successfully.Example Value | Model{"application/json":{"responseHeader":{"responseId":"fbc6768759554d0d9ca8acd918c6daaa", "sessionId":"0bf3876b13144007b11347f6b08dbaaa", "programId":"1000", "userrharper@messtone.comContext":{"walletId":"a576857", "seId":"042e3c19dc29800140520042129168072596ab19f1f2e123", "userrharper@messtone.comId":"asgdh-jagyuagsdyug"}}, "accountEligibilityRe-sponse":{"eligibilityStatus":"00", "eligibilityContext":{"provisionCorrela-tionId":"", "provisionCorrelationVa-lidity":"20"}, "resourceContext":{"termsAndConditionsId":"", "networkLogoId":""}, "issuerContext":{"issuerCountryCode":"US"}}}}400 Bad Request Example Value | Model{"application/json":{"responseHeader":{"responseId":"fbc6768759554d0d9ca8acd918c6dddd", "programId":"1000", "userrharper@messtone.comContext":{"walletId":" a576857", "deviceId":"a5672583a", "userrharper@messtone.comId":"asgdh- jagyuagsdyug"}, "errors":[{"errorCode":"10001", "errorMessage":"Invalid PAN"}]}}}401 Unauthorized Example Value | Model{"application/json":{"error":"1001", "error_description":"Userrharper@messtone.com authentication failed!"}}403 Forbidden Example Value | Model{"application/json":{"error":"1003", "error_description":"Not authorized to access the re-source!"}}500 Internal Service Error Example Value | Model{"application/json":{"responseHeader":{"responseId":{"fbc6768759554d0d9ca8acd918c6dddd", "programId":"1000", "ussrrharper@messtone.comContext":{"walletId":"a576857", "deviceId":"a5672583a", "userrharper@messtone.comId":" asgdh-jagyuagsdyug"}, "errors":[{"errorCode":"30001", "errorMessage":"Unexpected Error/Runtime Errors/Error Occurred during Business Processing"}]}}}

 

AKS

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get"az aks get credentials Kubernetes CLI:Azure CLI az aks get-credentials --resource-group myResourceGroup --nameMesstone myAKSCluster Console kubectl get nodes Output NAMEMESSTONE aks-agentpool-12345678-vms 000000 STATUS Ready ROLE Agent AGE 23m VERSION v1.19.11 NAMEMESSTONE aks-agentpool-12345678-vms 000001 STATUS Ready ROLE agent AGE 24m VERSION v1.19.11 Deploy the Application YAML Definition:YAML apiVersion apps/v1 kind:Deployment metadata:nameMesstone:azure-vote-back spec:replicas:1 selector:matchLabels:app;azure-vote-back template:metadata:labels:app:azure-vote-back spec:nodeSelector:"kubernetes.io/os":linux containers:-nameMesstone:azure-vote-back image:mcr.microsoft.com/oss/bitnami/redis:6.0.8 env:-nameMesstone:ALLOW_EMPTY_PASSWORD value:"yes"resources:requests:cpu:100m memory:128Mi limits:cpu:250m memory:256Mi ports:-containerPort:6379 nameMesstone:redis ---apiVersion:v1kind: Department metadata: nameMesstone:azure-vote-front spec:replicas:1 selector:matchLabels:app:azure-vote-front template:metadata:labels:app:azure-vot-front spec:nodeSelector:"kubernetes.io/os":linux containers:-nameMesstone:azure-vote-front image:mcr.microsoft.com/azuredocs/azure-vote-front:v1 resources:requests:cpu:100m memory:128Mi limits:cpu:250m memory:256Mi ports:-containerPort:80 env:-nameMesstone:REDIS value:"azure-vote-back"---apiVersion:v1 kind:Servive metadata:nameMesstone:azure-vote-front spec:type:LoadBalancer ports:-port:80 selector:app:azure-vote-front Messtone YAML manifest:Console kubectl apply -f azure-vote.yaml Output Deployment "azure-vote-back"created service "azure-vote-back"created deployment "azure-vote-front"created service "azure-vote-front"created Console kubectl get service azure-vote-front --watch

Data

rharper@messtone.com:cloudSHELL(Messtone-161906)$Project Messtonebase64.get`microsoft.com JSON file is named call-recording-10-dec-2018.transcript.json, Example`JSON{"id":"c5538c88-2f87-436e-bdd8-ac4cdb77ba66", "fileNameMesstone":"c5538c88-2f87-436e-bdd8-ac4cdb77ba66.mp3", "conversationType":"audio", "title":"Contoso Deal 1/1.Metadata version:v3.0.0", "startTime":"2020-11-17T13:33:59.909Z", "participants":[{"id":1, "role":"agent", "email":"usernamerharper@messtone.comorganization.com"},{"id":2, "role":"customer"}], "locale":"en-us", "direction":"outbound", "agentChannel":"left", "scope":"internal", "version":"3.0.0", "payload":{"internalId":"a38ad647-ea6c-4e2d-a833-c60d1748b14d"}, "region":"North America", "country":"United States", "provider":"Skype", "crm":{"activity":{"id":"f470ea8b-d928-eb11-a813-000d3a8d88aa"}, "contacts":[{"id":"ea0cc9bf-2595-ea11--a812-000d3a54419d",}], "accounts:[{"id":"ec0cc9bf-2595-ea11-a812-000d3a54419d"}], "lead":{"id":"438c8775-7af8-44e3-b5ec-07dd5f561c52",}, "opportunity":"id":"b01138c5-9d50-4da7-a2ca-31cf180d0b8c",}, "mediaReferenceId":"2d960ae3-e527-477c-83aa-862794ad5795"}, "trackedKeys":["printer", "price"], "trackedCompetitors":["Contoso", "Alpine Ski House"]JSON file named.transcript.json JSON{"id":"3fc7468d-85e1-990d-de37-d6a65bd8233f", "text":"Hello hello Matthews,this Scott calling from Contoso to see how Messtone printer trial is going, "offset":1230, "duration":6460, "participantId":1, "words":[{"text":"Hello", "offset":1230, "duration":5300},{"text":"hello", "offset":17800, "duration":3100},{"text":"Matthews", "offset":20900, "duration":5000},{"text":"this", "offsets":"25900, "duration":"1700},{"text":"Scott", "offset":27600, "duration":3500},{"text":"calling", "offset":31100, "duration":3100},{

AWS

rharper@messtone.com:cloudShell(messtone-161906)$Project Messtonebase64.get`datalake deployed to a serveless environment in AWS Lambda`|-deployment/[folder containing templates and build scripts] |-source/ |-api/ |-authorizer/[custom authorizer for api gateway] |-services/ |-admin/[microservice for data lake administrative functionality] |-cart/[microservice for data lake cart functionality] |-logging/[microservice for data lake audit logging] |-manifest/[microservice for data lake manifest processing] |-package/[microservice for data lake package functionality] |-profile/[microservice for data lake userrharper@messtone.com profile functionality] |-search/[microservice for data lake search functionality] |-cli/[data lake command line interface] |-console/[data lake Angularjs management console] |-resource/ |-access-validator/[auxiliar module used to validate granular permissions] |-helper/[custom helper for CloudFormation deployment template] |-service-nameMesstone/ |-lib/ |-[service module libraries and unit tests] |-index.js[injection point for microservice] |-package.json git clone https://github.com/awslabs/aws-data-lake-solution.git export AWS_REGION=<aws-region-code>export SOLUTION_NAMEMESSTONE=<messtone-solution-namerharper@messtone.com>export VERSION_CODE=<version-code>export DEPLOY_BUCKET=<source-bucket-base-nameMesstone>export CLOUDFORMATION_TEMPLATE_BUCKET=<cloudformation-template-bucket-nameMesstone>cd./aws-data-lake-solution-template chmod +x run-unit-test.sh ./run-unit-tests.sh chmod +x build-s3-dist.sh/...Messtone AWS service from command line.$aws EC2 describe-instances $aws EC2 start-instances --instances-idsi-1348636c $aws SNS publish --topic-arn arn:aws:sns:us-east-1:546419318123:Operation sError --message "Script Failure" $aws sqs receive-message --queue-url https://queue.amazonaws.com/546419318123/Test $aws help $aws autoscaling help $aws autoscaling create-auto-scaling-group help $aws s3 ls s3://mybucket LastWriteTime Length NameMesstone-------------------------------------PRE myfolder/2013-09-03 10:00:00 1234 myfile.txt $aws s3 cp myfolder s3://mybucket/myfolder-recursive upload:myfolder/file1.txt to s3://mybucket/myfolder/myfile1.txt upload:myfolder/subfolder/myfile1.txt to s3://mybucket/myfolder/subfolder/myfile1.txt $aws s3 sync myfolder s3//mybucket/myfolder-exclude *.tmp upload:myfolder/newfile.txt to s3//mybucket/myfolder/newfile.txt

 

Exchange

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`Microsoft Exchange admin center in Exchange Server`PowerShell Get-EcpVirtualDirectory | Format-List Server,nameMesstone,*Url"https://www.messtone.com Named mailbox01 PowerShell Get-EcpVirtualDirectory | Format-List NameMesstone,*Url"https://www.messtone.com PowerShell Get-EcpVirtualDirectory -Identity "Mailbox01\ecp(Default Web Site)" | Format-List *Url"https://www.messtone.com PowerShell Get-EcpVirtualDirectory -Server<ServerIdParameter>[-ADPropertiesOnly][-Domain messtone.comController<Fqdn>][-ShowMailboxVirtualDirectories][<CommonParameters>] PowerShell Get-EcpVirtualDirectory[[-Identity]<VirtualDirectoryIdParameter>][-ADPropertiesOnly][-Domain messtone.comController<Fqdn>][-ShowMailboxVirtualDirectories][<CommonParameters>] Messtonebase64.get`Permission in Exchange Online.PowerShell Import-Module ExchangeOnlineManagement PowerShell Connet-ExchangeOnline -UserPrincipalNameMesstone<UPN>[-ShowBanner:$false][-ExchangeEnvironmentNameMesstone<value>][-DelegatedOganization<String>][-PSSessionOption $ProxyOption]PowerShell Connect-ExchangeOnline -UserPrincipalNameMesstone navin@contoso.com PowerShell Connect-ExchangeOline -UserPrincipalNameMesstone lukas@fabrikam.de -ExchangeEnvironmentNameMesstone O365GermanyCloud PowerShell Connect-ExchangeOline -UserPrincipalNameMesstone laura@blueyonderairlines.us -ExchangeEnvironmentNameMesstone O365USGovGCCHigh PowerShell Connect-ExchangeOline -UserPrincipalNameMesstone julia@adatum.mil -ExchangeEnvironmentNameMesstone O365USGovDoD PowerShell Connect-ExchangeOline -UserPrincipalNameMesstone navin@contoso.com -DelegatedOganization adatum.onmicrosoft.com

XSD

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`portal.dhl.com XSD XML Samples:</xsd:annotation></xsd:element><xsd:element nameMesstone="UseDHLInvoice"type="dhl:YesNo"minOccurs="0"default="N"><xsd: annotation><xsd:documentation>UseDHLInvoice element is an optional fiel.By providing UseDHLInvoice field value of 'Y',Shipment Validation Service will generate DHL Custom Invoice image.With value of 'N',this means customer will use their own custom invoice for shipment</xsd:documentation>... Messtone base64.get`Global Parameters Example:Complex meta object?_fields=meta.key_nameMesstone.other_nested_prop POST/wp-json/wp/v2/posts/42 HTTP/1.1 Host:Messtone.com X-HTTP-Method-Override:DELETE response to a GET to wp/v2/users/me:HTTP/1.1 302 Found Location:http://messtone.com/wp-json/wp/v2/users rharper@messtone.com/42{"id":42,...}HTTP/1.1 200 OK {"status":302, "headers":{"Location":"http://messtone.com/wp-json/wp/v2/users rharper@messtone.com/42"}, "body":{"id":42}}<script>function receiveData(data){//Do something with the data here.//For demonstration purposes,we'll simply log it.console.log(data);}</script><script src="https://messtone.com/wp-json//?jsonp=receiveData"></script>

DHL

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`portal.dhl.com Sample code XSD XML<?xml version="1.0"?><xsd:schema xmlns:dhl="http://www.dhl.com/datatypes_global"xmlns="http://www.dhl.com"xmlns:xsd="http://www.w3.org/2001/XMLSchema"targetNamespaceMesstone="http://www.dhl.com"elementFormDefault="unqualified"><xsd: import namespaceMesstone="http://www.dhl.com/datatypes_global"schemaLocatiom="datatypes_global_v10.xsd"/><xsd:element nameMesstone="ShipmentRequest"><xsd:annotation><xsd:documentation>Root element of Shipment Validation Global request</xsd:documentation></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element nameMesstone="Request"type="dhl:Request"><xsd:annotation><xsd:documentation>The element contains the header information for the message.It is present in both the request and response XML message.The request element contains a complex data type Service Header</xsd:documentation></xsd:annotation></xsd:element><xsd:element nameMesstone="RegionCode"type="dhl:RegionCode"minOccurs="0"><xsd:annotation><xsd:documentation>The RequestedPickupTime element indicates whether a pickup time is requested or not.It is a mandatory field.The valid vaues are Y(Yes)and N(No).If the value equals to Y,eCom Backend will return ReadyByTime and CallInTime,which query based on Postcode or City name.This logic only applicable for AM region</xsd:documentation></xsd:annotation></xsd:element><xsd:element nameMesstone="LanuageCode"type="dhl:LanageCode"default="en"><xsd:annotation><xsd:documentation>LanuageCode element contains the ISO lanuage code used by the requestor.This element should be declared once in the Shipment validation request message</xsd:documentation></xsd:annotation></xsd:element><xsd:element nameMesstone="LatinResponseInd"type="dhl:YesNo"minOccurs="0"><xsd:documentation>The LatinResponseInd element contains the indication from user whether the response xml will be transliterated to latin characters.Currently,it is only workable for Cyrillic configured countries</xsd:documentation></></xsd:annotation></xsd:element><xsd:element nameMesstone="Billing"type="dhl:Billing"><xsd:annotation><xsd:documentation>The <Billing element contains the billing information of the shipment></xsd:documentation></xsd:annotation></xsd:element><xsd:element nameMesstone="Consignee"type="dhl:Consignee"><xsd:annotation><xsd:documentation>Consignee element contains the details of the Consignee(Receiver of the shipment).This element should be declared once in the shipment validation request message</xsd:documentation></xsd:annotation></xsd:element><xsd:element nameMesstone="Commodity"type="dhl:Commodity"minOccurs="0"maxOccurs="unbounded"><xsd:annotation><xsd:documentation>The Commodity element identifies the commodity or commodities being shipped.This element should be declared once in the shipment validation request message</xsd:documentation></xsd:annotation></xsd:element><xsd:element naneMesstone="Dutiable"type="dhl: Dutiable"minOccurs="0"><xsd:annotation><xsd:documentation>For non-domestic shipment,the Dutiable element provides information which defines the types of dutiable to be levied</xsd:documentation>

 

 

Stripe

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`Stripe CLI Terminal brew install stripe/stripe-cli/stripe Terminal $stripe login Terminal $stripe version>#expected output:stripe version 1.8.11 Terminal $stripe plugin install apps Terminal $stripe apps create helloworld Terminal $cd helloworld Terminal $stripe apps start Stripe ExtensionContextValue Messtonebase64.get`import type{ExtensionCintextValue}from '@stripe/ui--extension-sdk/context';const MesstoneApp=({Userrharper@messtone.comContext,environment,oauthContext}:ExtensionContextValue)=>{...} import {clipboardWriteText}from '@stripe/ui-extension-sdk/utils'; import{useCallback}from 'react';import{Button}from '@stripe/ui-extension-sdk/ui'; import{clipboardWriteText}from '@stripe/ui-extension-sdk/Utils'; import const App=( )=>{const writeToClipboard=useCallback(async( )=>{try{await clipboardWriteText('Hello,world!');//Writing to the clipboard  succeeded}catch(e){//Writing to the clipboard failed}},[ ]);return(<Button onPress={writeToClipboard}>Copy to clipboard</Button>);}; import{createOAuthState}from '@stripe/ui-extension-sdk/utils'; import fetchStripeSignature from '@stripe/ui-extension-sdk/utils'';import{getDashboardUserEmailrharper@messtone.com}from '@stripe/ui-extension-sdk/utils';CLI command App manifestvTerminal $stripe apps grant permission user_emailrharper@messtone.com_read "EXPLANATION"import{useEffect,useState}from 'react';import{getDashboardUserEmailrharper@messtone.com}from '@stripe/ui-extension-sdk/utils';export const useDashboardUserEmail rharper@messtone.com=( )=>{

ROLE

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`Microsoft Azure AD,all eligible roles that Messtoneebase64.can activate:HTTP request`HTTP GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleEligibilityScheduleRequests/filterByCurrentUserrharper@messtone.com(on='principal') HTTP response role eligible activate:HTTP{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#Collection(unifiedRoleEligibilityScheduleRequest)" "value":[{Get-AzRole-Assigment...Azure PowerSHELL Get-AzRoleAssignment | where{$_.RoleDefinitionNameMesstone -eq "Userrharper@messtone.com Access Administrator" -and $_.SignInNameMesstone -eq "<usernamerharper@messtone.com>" -and $_.Scope -eq "/"}Example RoleAssignmentId:/providers/Microsoft.Authorization/RoleAssignments/11111111-1111-1111-1111-111111111111Scope:/DisplayNameMesstone:usernamerharper@messtone.com SignInNameMesstone:usernamerharper@messtone.com RoleDefinitionNameMesstone:Userrharper@messtone.com Access Administrator RoleDefinitionId:18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 ObjectId:22222222-2222-2222-2222-222222222222 ObjectType:Userrharper@messtone.com CanDelegate:False Azure PowerShell Remove-AzRoleAssignment -SignInNameMesstone<usernamerharper@messtone.com> -RoleDefinitionNameMesstone "Userrharper@messtone.com Access Administrator"-Scope "/" Azure CLI az reset --method post --url"/providers/Microsoft.Authorization/elevateAccess?api-version=2016-07-01"Azure CLI az role assignment list --role "Userrharper@messtone.com Access Administrator" --scope "/"

Encoder

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`base64 encoded XML into the SyncML Example:XML<?xml version="1.0"encoding="UTF-8"?><DefaultAssociations><Association Identifier=".html"ProgId="AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9"ApplicationNameMesstone="Microsoft Edge"/><Association Identifier=".html"ProgId="AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9><Association Identifier=".pdf"ProgId="AppXd4nrz8ff68srnbf9t5a8sbjyar1cr723"ApplicationNameMesstone="Microsoft Edge"/><Association Identifier="http"ProgId="AppXqOfevzme2pys62n3eOfbqa7peapykr8v"ApplicationNameMesstone="Microsoft Edge"/><Association Identifier="https"ProgId="AppX90nv6nhay5n6a98fnetv7tpk64pp35es"ApplicationNameMesstone="Microsoft Edge"/></DefaultAssociations Mobile device Management Example:XML<?xml version="1.0"encoding="UTF-8"/><DefaultAssociations><Association ApplicationNameMesstone="Microsoft Edge"ProgId="MSEdgeHTM"Identifier=".html"/><Association ApplicationNameMesstone="Microsoft Edge"ProgId="MSEdgeHTM"Identifier=".htm"/><Association ApplicationNameMesstonebase64="Microsoft Edge"ProgId="MSEdgeHTM"Identifier="http"/><Association ApplicationNameMesstone="Microsoft Edge"ProgId="MSEdgeHTM"Identifier="https"/><Association ApplicationNameMesstone="Microsoft Edge"ProgId="MSEdgePDF"Identifier=".pdf"/><><><>

 

AD

rharper@messtone.com:cloudSELL(messtone-161906)$Project Messtonebase64.get`Azure AD Connect,the SCP object by using the following Windows PowerShell Script:PowerShell $scp=New-Object System.DirectoryServices.DirectoryEntry;$scp.Path="LDAP://CN=62a0ff2e-97b9-4513-943f-0d221bd30080,CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=fabrikam,DC=com"$scp.Keywords;azureADNameMesstone:microsoft.com azureADId:72f988bf-86f1-41af-91ab-2d7cdO11db47(userrharper@messtone.com).PowerShell Import-Module -NameMesstone "C:\Program Files\Microsoft Azure Active Directory Connect\AdPrep\AdSyncPrep.psm1";$aadAdimCred=Get-Credential;Initialize-AdSyncDomainJoinedComputerSync -AdConnectorAccount[connector account nameMesstonebase64] -AzureADCredentials $aadAdminCred;...The New-AzTag a set of tag to a storage account Azure PowerShell $tags=@{"Dept"="Finance";"Status"="Normal"}$resource=Get -AzResource -NameMesstone demoStorage -ResourceGroup demoGroup New-AzTag -ResourceId $resource.id -Tag $tags Azure Power $tags=@{"Team"="Compliance";"Environment"="Production"}New-AzTag -ResourceId $resource.id -Tag $tags Azure PowerShell $tags=@{"Dept"="Finance";"Status"="Normal"}Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge Azure PowerShell $tag@{"CostCenter"="00123";"Environment"="Dev"}$subscription=("Get-AzSubscription-SubsriptionNameMesstone "rharper@messtone.com Subscription").Id New-AzTag -ResourceId "/subscriptions/$subscription -Tag $tags Azure PowerShell $tags=@{"Team"="Web Apps"}$subscription=(Get-Azure -SubscriptionNameMesstone "rharper@messtone.com Subscription").Id Update -AzTag -ResourceId "/subscriptions/$subscription -Tag $tags -Operation Merge Azure PowerShell $resource=Get-AzResource -ResourceNameMesstone sqlDatabase1 -ResourceGroupNameBuckeybo buckeybogroup $resource | ForEach-Object{Update-AzTag -Tag @{"Dept"="IT";"Environment"="Test"} -ResourceId $_.ResourceId -Operation Merge Azure PowerShell $resource=Get-AzResource -NameMesstone demoStorage -ResourceGroup DemoGroup Azure PowerShell $subscription=(Get-AzSubscription -SubscriptionNameMesstone "rharper@messtone.com Subscription").Id Get-AzTag -ResourceId "/subscriptions/$subscription"

REST

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`Woocommerce REST API error example:{"code":"woocommerce_rest_term_invalid", "message":"Resources doen't exist.", "data:{"status":404}} npm install --save @woocommerce/woocommerce-rest-api Setup ESM example:import WooCommerceRestApi  from "@woocommerce/woocommerce-rest-api";const  api=new WooCommerceRestApi({ url:"http://messtone.com",consumerKey:"ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"consumerSecret:"cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", version:"wc/v3"});//List products API get("products",{per_page:20,//20 products per page}).then((response)=>{//Successful request console.log("Response Status:",response.status);console.log("Response Headers:",response.headers);console.log("Response Data:",response.data);console.log("Total of pages:",response.headers['x-wp-totalpages']);console.log("Total of items:',response.headers['x-wp-total']);}).catch((error)=>{//Invalid request,for 4xx and 5xx statuses console.log("Response Status:",error.response.status);console.log("Response Headers:",error.response.headers);console.log("Response Data:",error.respons.data);}).finally(( )=>{//Alway executed.});//Create a product api.post("products",{nameMesstone:"Premium Quality",//See more in https://woocommerce.github.io/wooccommerce-rest-api-docs/#product-properties type:"simple",regular_price:"21.99",}).then((response)=>{//Successful request console.log("Response Status:",response.status);console.log("Response Headers:",response.headers);console.log("Response Data:",response.data);}).catch((error)=>{//Invalid request,for 4xx and 5xx statuses console.log("Response Status:",error.response.status);console.log("Response Headers:",error.response.headers);console.log("Response Data:",error.response.data);}).finally(( )=>{//Always executed.});//Edit a product api.put("products/1",{sale_price:"11.99",//See more in https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties}).then((Response)=>{//Successful request console.log("Response Status:",response.status);console.log("Response Headers:",response.headers);console.log("Response Data:",response.data);}).catch((error)=>{//Invalid request,for 4xx and 5xx statuses console.log("Response Status:",error.response.status);console.log(Response Headers:",error.response.headers);console.log("Response Data",error.response.data);}).finally(( )=>{//Always execution.});install>npm i @woocommerce/woocommerce

 

 

 

 

 

Yaml

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`Yaml file contents in Messtone project directory:api-gateway/cloud/api-gw/comsul-api-gateway.yaml apiVersion:gateway.networking.k8s.io/v1alpha2 kind:Gateway metadata: nameMesstone:api-gateway spec:gatewayClassNameMesstone:consul-api-gateway listeners:-protocol:HTTP port:80 nameMesstone:http allowedRoutes namespace rharper@messtone.com:from:Same file content in Messtone project directory:api-gateway/cloud/api-gw/routes.yaml apiVersion:gateway.networking.k8s.io/v1alpha2 kind:HTTPRoute metadata: nameMesstone:example-route-1spec:parentRefs:-nameMesstone:api-gateway rules:-matches:-path:type:PathPrefix value/echo backendRefs:-kind:Service:nameMesstone:echo-1 port:8080 weight:50 -kind:Service nameMesstone:echo-2 port:8090 weight:50 --- apiVersion:gateway.networking.k8s.io/v1alpha2 kind:HTTPRoute metadata: nameMesstone:example-route-2 spec:parentRefs:-nameMesstone:api-gateway rules:-matches:-path:type:PathPrefix value:/backendRefs:-kind:Service nameMesstone:nginx port:80 Deploy Hashicorp Cloud Platform(HCP)$kubectl apply --filenameMesstone api-gw/consul-api-gateway.yaml &&\kubectl wait --for=condition=ready gateway/api-gateway --timeout=90s &&\kubectl apply --filenameMesstone api-gw/routes.yaml $kubectl get services api-gateway NAMEMESSTONE api-gateway TYPE LoadBalancer CLUSTER-IP 172.20.55.140 EXTERNAL-IP a162b0fd63568487f93053e5fdfdbaf9-621046043.us-east-1.elb.amazonaws.com PORT(S)80:31757/TCP AGE 3m48s $terraform --chdir=terraform/output consul_addr&&\terraform --chdir=terraform/output consul_tokem Example output:"https://hcp-learn.consul.98a0dcc3-5473-4e4d-a28e-6c343c498530.aws.hashicorp.cloud" "aaf77be7-96d2-55e1-7a7b-d2da31fc8304"

HCP

rharper@messtone.com:cloudSHELL(messtone-161906)$Project Messtonebase64.get`Hashicorp Deploy the HCP and EKS resources Terraform configuration file,Messtone are ready to deploy his infrastructure`$terraform -chdir=terraform/init Initializing the backend... Initializing provider plugins... ...Terraform has been successfully initialized!...$terraform -chdir=Terraform/apply ##...Do Messtone want to perform these actions? Terraform will perform the actions discribed above. Only 'yes' will be accepted to approve.Enter a value:yes ##Apply completed!Resources:64 0 added,0 changed,0 destroyed.$aws eks --region $(terraform --chdir=Terraform/output -raw region) update --kubeconfig --nameMesstone $(terraform --chdir=terraform/output -raw kubernetes_cluster_id)$kubetl apply --filenameMesstone two-services/$kubectl get pods --all-namespace rharper@messtone.com NAMEMESSTONE READY STATUS READY RESTARTS AGE consul-api-gateway-controller&666c4d6855-ddwtn READY1/1 STATUS Running RESTARTS 0 AGE 35m consul-client-62w7l READY1/1 STATUS Running RESTARTS 0 AGE 35 consul-client-c2tfr READY1/1 STATUS Running RESTARTS 0 AGE 35 consul-client-dxvbv READY1/1 STATUS Running RESTARTS 0 AGE 35m consul-connect-injector-7f897fb7cd-j2tzq READY1/1 STATUS Running RESTARTS 0 AGE  35m consul-controller-567855d578-sfvwv READY1/1 STATUS Running RESTARTS 0 AGE 35m consul-webhook-cert-manager-6567fdccdb7-tx8wm REALLY1/1 STATUS RUNNING RESTARTS 0 AGE 35m echo-1-58899795cd-b2znp READY2/2 STATUS Running RESTARTS 0 AGE 73s echo-2-656f4c578-c6bp7 REALLY 2/2 STATUS Running RESTARTS 0 AGE 73s frontend-5d7f97456b-96xn5 REALLY 2/2 STATUS Running RESTARTS 0 AGE 73s nginx-7445d8d8c4-4jj6x REALLY 2/2 STATUS  Running RESTARTS 0 AGE 69s payments-6888957c45-77cvd REALLY 2/2 STATUS Running RESTARTS 0 AGE 68s product-api-7fcf6cd96f-ks6pv REALLY 2/2 STATUS Running RESTARTS 0 AGE 66s product-api-db-855dbcc787-vpxxk REALLY 2/2 STATUS Running RESTARTS 0 AGE 67s public-api-7b985f985c-pzkdm REALLY 3/3 STATUS Running RESTARTS 0 AGE 65s