__opts__=ResourceOptions( parent=resource_group, depends_on=[acr_assignment, subnet_assignment] ), ) k8s_provider = Provider( "k8s", kubeconfig=aks.kube_config_raw, __opts__=ResourceOptions(parent=aks) ) labels = {"app": "nginx"} nginx = Deployment( "k8s-nginx", spec={ "selector": {"matchLabels": labels}, "replicas": 1, "template": { "metadata": {"labels": labels}, "spec": {"containers": [{"name": "nginx", "image": "nginx"}]}, }, }, __opts__=ResourceOptions(parent=k8s_provider, provider=k8s_provider), ) ingress = Service( "k8s-nginx", spec={"type": "LoadBalancer", "selector": labels, "ports": [{"port": 80}]}, __opts__=ResourceOptions(parent=k8s_provider, provider=k8s_provider), ) kulado.export("kubeconfig", aks.kube_config_raw)
# Copyright 2016-2018, Kulado Corporation. All rights reserved. import kulado from kulado_aws import ec2 from ami import get_linux_ami size = 't2.micro' group = ec2.SecurityGroup('web-secgrp', description='Enable HTTP access', ingress=[ { 'protocol': 'tcp', 'from_port': 80, 'to_port': 80, 'cidr_blocks': ['0.0.0.0/0'] } ]) user_data = """ #!/bin/bash echo "Hello, World!" > index.html nohup python -m SimpleHTTPServer 80 & """ server = ec2.Instance('web-server-www', instance_type=size, security_groups=[group.name], user_data=user_data, ami=get_linux_ami(size)) kulado.export('public_ip', server.public_ip) kulado.export('public_dns', server.public_dns)
# Copyright 2016-2019, Kulado Corporation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import kulado from kulado_kubernetes.core.v1 import Pod, Namespace namespace = Namespace("ns") pod = Pod( "smoke-test", metadata={ "namespace": namespace, }, spec={ "containers": [ {"name": "nginx", "image": "nginx"}, ] }) kulado.export("ip", pod.status["pod_ip"])
# Copyright 2016-2018, Kulado Corporation. All rights reserved. import iam import kulado from kulado_aws import lambda_, sfn hello_world_fn = lambda_.Function( 'helloWorldFunction', role=iam.lambda_role.arn, runtime="python2.7", handler="hello_step.hello", code=kulado.AssetArchive({'.': kulado.FileArchive('./step_hello')})) state_defn = state_machine = sfn.StateMachine( 'stateMachine', role_arn=iam.sfn_role.arn, definition=hello_world_fn.arn.apply(lambda arn: """{ "Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function", "StartAt": "HelloWorld", "States": { "HelloWorld": { "Type": "Task", "Resource": "%s", "End": true } } }""" % arn)) kulado.export('state_machine_arn', state_machine.id)
location=resource_group.location, network_interface_ids=[network_iface.id], vm_size="Standard_A0", delete_data_disks_on_termination=True, delete_os_disk_on_termination=True, os_profile={ "computer_name": "hostname", "admin_username": username, "admin_password": password, "custom_data": userdata, }, os_profile_linux_config={ "disable_password_authentication": False, }, storage_os_disk={ "create_option": "FromImage", "name": "myosdisk1", }, storage_image_reference={ "publisher": "canonical", "offer": "UbuntuServer", "sku": "16.04-LTS", "version": "latest", }) combined_output = Output.all(vm.id, public_ip.name, public_ip.resource_group_name) public_ip_addr = combined_output.apply( lambda lst: network.get_public_ip(name=lst[1], resource_group_name=lst[2])) kulado.export("public_ip", public_ip_addr.ip_address)
obj = s3.BucketObject(file, bucket=web_bucket.id, source=FileAsset(filepath), content_type=mime_type) def public_read_policy_for_bucket(bucket_name): return json.dumps({ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": "*", "Action": ["s3:GetObject"], "Resource": [ f"arn:aws:s3:::{bucket_name}/*", ] }] }) bucket_name = web_bucket.id bucket_policy = s3.BucketPolicy( "bucket-policy", bucket=bucket_name, policy=bucket_name.apply(public_read_policy_for_bucket)) # Export the name of the bucket export('bucket_name', web_bucket.id) export('website_url', web_bucket.website_endpoint)