* improved scaleset facts
* scaleset facts fix some errors
* adding version_added for format param
* trying to break lines
* fixed syntax
* small code restructuring
* fix syntax
* fixed now
* add new test to scaleset / scaleset facts
* make scaleset test more clear
* temporarily comment out...
* try to retrieve scaleset facts
* try to add postfix
* fixed mistake
* fixed problem when no loadbalancer attached
* fixed another bug
* fixed sanity and a few other
* fixed pep8
* another try
* changed ansible to curated
* updated tests
* updated example and a few other mods
* small fixes
* removed unnecessary pass
* removed some items from ignore.txt
* remove file added by mistake
RDS instance and snapshot facts modules
Move common code into module_utils/rds.py
This work is a precursor to new rds_snapshot
and rds_instance modules
Improve rds_snapshot_facts to latest AWS standards
Improve exception handling, pagination etc.
Version added
Add clustered snapshot facts
Add proper RETURN information for snapshots and cluster_snapshots
pep8
Co-authored-by: Michael De La Rue <jababubic.margoteen@spamgourmet.com>
Create rds_instance_facts module using boto3.
Create common rds.py module_util library to be used by
rds_instance_facts and future RDS modules.
rds_instance_facts: use latest AWS helper methods
* Use `module.client` with `retry` to create AWS connection
* Return tags, using AWSRetry helper to backoff
* Use paginator to describe DB instances
* Further improve exception handling
* Fix RETURN documentation
update version_added
Co-authored-by: Michael De La Rue <jababubic.margoteen@spamgourmet.com>
* add aks module and integration tests
* linting
* update tests
* sanity check
* make some changes to AKS module
* make integration test work
* add fact
* add resource_group name
* add fact test
* fix test
* fix test
* linting
* changed line endings for facts
* output kubeconfig
* Update azure_rm_aks.py
* update integration test aliases
* update aliases
* add cloud_environment and auth_source to args
* Fix comments from Jborean93 (#3)
* update
* fix
* fix
* fix
* fix
* update doc
* fix
* New module: ec2_vpc_vpn_facts
* Add integration tests for ec2_vpc_vpn_facts and the IAM permissions
* Add retry to VPC removal
* Use unique name for VGW
* Always clean up after tests and add retries
* Allow idempotent use of ec2_ami_copy
When `tag_equality` is set true, use tags to determine
if AMIs in different accounts are the same, and don't
copy the AMI twice if they are the same.
Use AnsibleAWSModule and make imports more consistent
with other modules
* Update version added
* More code review changes
* Review changes - Recommended way to start EC2 connection
Check datatype of device instead of comparing them directly in
vmware_guest. Also, added testcases to check this behavior.
DPVG is not supported in current version vcsim
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Fix for Azure loadbalancer tags.
It was possible to add tags to an Azure loadbalancer, but the tags were never set in Azure.
This patch fixes that.
* Pass shippable tests
* azure_rm_loadbalancer_facts requires rg
Getting facts of all loadbalancers via azure_rm_loadbalancer_facts requires a resource group.
This fix adds the rg as parameter to the list() call.
* Revert changes in azure_rm_loadbalancer_facts
The changes belong to another pull request.
Based on the documentation, 'wait_timeout' is 'Used in conjunction with instance_ids option'. This lead me to believe that I could not use this parameter to try and solve the 'Waited too long for ELB instances to be healthy' error I was experiencing.
This fix allows user to add ESXi host system under folder
without requiring to specify cluster name.
partially fixes: #38300
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This module is based on vSphere REST API. This module allows
user to manage various tags and their association with
categories. This fix also adds vCenter REST client library which can
be re-used for other REST based modules.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
`network['vlan']` should be a VLAN ID
Integers passed around using jinja variable references are
converted to strings (see # 9362)
The # 32738 PR should allow using 'NativeType' in ansible
Explicitly converting to integer will make the module works
as expected with or without the NativeType support
`network['vlan']` can also be a VLAN NAME (fallback)
Explicitly converting to string will make the module works
as expected with or without the NativeType support
This fix add correct reporting of failure if VM does not contain
any snapshots for following operations - rename, remove and revert.
Fixes: #37906
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This fix adds new argument parameter which allows user to
set customization specification which is already created with required
values like Windows Product Key and Networking details etc.
Fixes: #38404
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This fix adds a check for switchuuid value of distributed virtual switch.
When there is no association between hostsystem and distributed virtual portgroup,
both specified by user, then module does not find DVSwitch.
This patch tries to mitigate that problem.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* create internal loadbalancer
* fix test
* remove duplicate test
* clean up
* fix doc
* lint
* add sku support
* update version
* change to the version the same as CLI
* add pip support sku
* fix lint
* fix test
* Update main.yml
* add changelog entry
* ec2_vpc_route_table: Update matching_count parsing on find_subnets function and tests
* ec2_vpc_route_table: Update matching_count parsing on find_subnets function
* Stabilize ec2_vpc_vgw and ec2_vpc_vpn so tests for ec2_vpc_vpn_facts in PR 35983 can be run in CI
* Add updated placebo recordings
* ensure find_vgw uses the virtual gateway id if available
Add AWSRetry.jittered_backoff to attach_vpn_gateway to deal with errors when attaching a new VPC directly after detaching
Add integrations tests for ec2_vpc_vgw
* Sort VPN Gateways by ID
* Add helpful failure message if target_type=ip is not supported
Create test case for target_type=ip not supported
* Update elb_target_group module to latest standards
Use AnsibleAWSModule
Improve exception handling
Improve connection handling
* Add a module to get storage gateway facts
* Review fixes
* Last review fixes
* Add filtering gathering & some fixes
* doc fix
* API error handling
* Remove ec2_argument_spec import
Use imported BotoCoreError and ClientError rather than botocore.exceptions
Updated documentation to refer to 'network_interface_id' rather than 'interface_id' as the latter results in an error: 'Parameter validation failed: Unknown parameter in input: \"InterfaceId\"'
* Add option to specify reusable delegation set while creating public zones
* Add mutual exclusion argument spec for delegation set and VPC/private zone
* Get zone delegation set ID when updating a public zone
For protocol, it should be a list and all
of the values are expected to be lowercase.
An example is also added to show how to add
both Spice and VNC consoles to a VM.
This fix corrects the comparison of system generated guest_id with
user provided guest_id. Module used to report change even if the
guest_ids were same. For example, user provided guest id rhel7_64guest
and VMware returned guest id rhel7_64Guest are logically same but
lexicographically different and due to this module use to report
change even if there is no change applied.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Fix#26755 by ensuring that the first nic in the nic list has primary set to True, and all other nics have primary set to False.
* Fix sanity issues and add test for two nics
* Fix typo in test
* fix nic list
* Ensure the niclist variable is used rather than a niclist string
* Add tests just for dual nic, reverting changes to single nic VM creation tests
* Correct idempotency test
Enable awsvpc network mode for ECS services and tasks and
their underlying task definitions
Improve test suite to thoroughly test the changes
Use runme.sh technique to run old and new versions of botocore to
ensure that the modules work with older botocore and older network modes
and fail gracefully if awsvpc network mode is used with older botocore
when pulling an image with force=yes the task was marked as changed
everytime even when the image hasn't changed.
This was due to a bad comparison of the image tag before the pull
and after the pull.
Fixes#22596
Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>
* add loadbalancer
* dict check nullable
* add default vallue when get list
* create backend addr pool
* fix the set
* fix to dict
* fix ideponement
* use param security group name when create
* nic can has no nsg
* add test
* fix
* fix
* fix
* fix idemponet
* add document
* fix test
* add configuration
* fix
* fix
* remove all resources
* fix
* fix test
* add version added
* fix lint
* fix lint
* fix lint
* remove new feature and only submit bugfix
* remove useless test
* fix
* Improve ec2_ami tests
Ensure that ec2_ami_image_id fact gets set immediately after AMI
creation so that they get torn down even if tests fail
Use YAML anchor to simplify AWS credential passing
Use aws_connection_info to reduce AWS credential boilerplate
Improve exception handling when updating image attributes
Error messages weren't correctly formatted to show image ids.
Per Hashicorp's [guidelines][1] for automated use of terraform CLI, this PR
adds the `-input=false` option to all the commands executed in the
module. If input is required, this causes a hard failure that will
become a module failure.
[1]: https://www.terraform.io/guides/running-terraform-in-automation.html
The docs suggest that `port` parameter is the default port upon
which targets listen. As such, a target need only provide a `Port`
key to override the default.
* Fix the function_name handling logic for lambda_policy
Switch the logic handling function_names that are ARNs
so that ARNs are correctly handled and detected
* Add tests for lambda_policy function_arn
Ensure that function_arn works.
Needs a reasonable ansible_lambda_role.
This fix adds a check if Datacenter contains cluster but does not
have ESXi server associated with that cluster.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This fix adds following -
* Check for None or blank value in project_path
* Make terraform binary path as required
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
If user does not specify any network type then set network type
to dhcp. There are additional checks around 'ip', 'netmask' and
'type' in network spec.
Fixes: #38466
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This change allows users to pass bond options
alongside bond mode, in order to allow greater
flexibility for bond creation. Previously,
bond options were derived from bond mode, e.g.
"miimon" was set to 100 for mode 3 (load-balance),
however a user may want to use 200.
* Reflect updated names of the aws_batch_job modules
* Remove mention of `lambda_invoke` module which has yet to make it to
Ansible.
* Update broken rst link in win_dsc module
* Add aws_ses_identity_policy module for managing SES sending policies
* Add option to AnsibleAWSModule for applying a retry decorator to all calls.
* Add per-callsite opt in to retry behaviours in AnsibleAWSModule
* Update aws_ses_identity_policy module to opt in to retries at all callsites.
* Add test for aws_ses_identity_policy module with inline policy.
* Remove implicit retrys on boto resources since they're not working yet.
Consolidate waiters to a single file
* Add waiter message with token ID
* Add waiter
Add waiter for WAF change tokens
Working waiter for waf_condition module
Add support for waiters to waf_rule
* WAF data model refactor
* Fix ref to self.client
* Add custom waiters to aws_waf_web_acl
* Allow add/remove rule tasks to operate in parallel, then wait for their change tokens to complete
* Move waiter into run_func_with_change_token_backoff since it is generic to all WAF update operations
* Wait for deletes on waf_web_acl
* Remove always-wait
* Remove waiter retry catch
* Add OpenNebula one_image_facts module
`one_image_facts` - module for gathering facts about OpenNebula images
Add integration tests
* Add an alias for ids
* stabilize ec2_vpc_subnet module
* Add waiters for ec2_vpc_subnet
Clean up integration tests
* Reenable CI for stabilized ec2_vpc_subnet tests
* rename waiters
* Use module_json_aws where applicable
Handle WaiterError first if waiting failed
* Fix traceback when tagging with keys/values that look like booleans
* Fix check mode with tags
* Add integration tests for tags that look like booleans and check mode
* Add waiter for deleting subnet
* Sleep a few seconds after using aws command line
Iterating an object and changing it at the same time is unsecure and no longer permitted in Python >= 3.6
Provisioning an instance fail with the Python error: "RuntimeError: dictionary changed size during iteration"
* Use AnsibleAWSModule to simplify AWS connection
* Add Exception handling, pagination, retries and backoff
* Allow events to be switched off
* Allow details to be obtained without having to specify services
SGs created when a VPC ID was not specified would not necessarily
get the default egress rule, even when no explicit egress rules
were set.
Add some checks for egress rules in results from existing tests
VMware throws error if hostname provided by user is not RFC 952
compliant. Added minor documentation fixes.
Fixes: #24225, #27096
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
If user does not specify esxi_hostname then module
fails to detect ESXi hostsystem from given configuration.
This fixes the regression in get_all_host_objs API by
getting first host managed object from list.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Change assign_public_ip to default to None rather than False so
that we can detect whether the value is being explicitly set or
not, and only warn if it is explicitly set to False for something
with a public_dns_name
Fixes#37985
* Make the module idempotent
* pep8 fixes.
* Made required changes for overwrite_value for idempotency.
* Fix missing error definition
* Add in missing documentation variable.
* Added missing scalable target creation
* Changed if statement
* Added support to results of all actions
* Fixed line lengths, whitespaces and blank lines between functions
* Fixed documentation formatting
* Work in progress, fixed returns from functions, still need to do exception handling
* Work in progress, still need to do exception handling
* Moved to AnsibleAWSModule, Added exception handling
* Added detailed return doc
* Fixed return doc alarms
* fixed return yaml
* Fixed function calls when creating/deleting
* fixed unnecessary blank line
* removed imports and unnecessary checks handled by AnsibleAWSModule
* removed whitespace
* [cloud] ec2_vpc_route_table: ignore routes without DestinationCidrBlock
Add module warnings rather than silently skipping
* Permit warnings for routes tables containing vpc endpoints to be turned off
* Add tests to ensure a VPC endpoint associated with a route table does not result in a traceback
* adding possibility to specify resource group for referred virtual network
* fixed sanity issues
* removed trailing whitespace
* added test
* fixed documentation
* try to fix unstable test
* Tidied up the description of virtual_network_resource_group
* adding possibility of disabling public ip address
* fixed indent
* fixed whitespace
* fixed mistake
* try to create test with vm without public ip address
* try to fix test
* another attempt for test
* fixing test
* create vm with no ip with different name and delete it immediately
* a few additional fixes
* another attempt to pass test
* must be deleted
* simplified no ip test
* reorganised tests
* Wrapped choice in C()
* fixed issue when public ip address should not be created
* adding test for public ip address
* fixed samples
* another fix to sample formatting
* fixed test
* fix test
* fixed test
* another attempt to fix test
* maybe it works now
* still wrong
* improved check per customer request
* removed stupid semicolon
* updated test to match main scenario
* changed ip configurations to list
* another attempt
The user_data field is base64 encoded inside of the boto library. In
Python3, base64 must be used with byte strings. So we make sure to
encode the user_data into a byte string before passing it on to the boto
library.
Fixes#34978
* Increase delay and tries for ec2_vpc_net backoff
Wait for DHCP option to be created in ec2_vpc_dhcp_option
Wait for all modifications to the VPC
* Use the vpc_available waiter because is uses Filters
* Missed one
* Optimize retries to only occur if the functionality is available
* Increase max wait time
* Add comments to explain what the waiters are doing
In Python2, `map` returns list whereas Python3, `map` function
returns iterator. This fix typecast map function for Python3.
Fixes: #37114
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This creates a way for us to use boto3's data-driven waiter support to use custom waiters where Boto3 hasn't implemented them yet.
The only waiter implemented so far is for VPC Route Tables to check that they exist, and this replaces some custom retry code.
Fixes#35993 - Changes to update_size in commit eb4cc31 made it so
the group dict passed into update_size was not modified. As a result,
the 'replace' call does not see an updated min_size like it previously
did and doesn't pause to wait for any new instances to spin up. Instead,
it moves straight into terminating old instances. Fix is to add batch_size
to min_size when calling wait_for_new_inst.
Fixes#28087 - Make replace_all_instances and replace_instances behave
exactly the same by setting replace_instances = current list of instances
when replace_all_instances used. Root cause of issue was that without lc_check
terminate_batch will terminate all instances passed to it and after updating
the asg size we were querying the asg again for the list of instances - so terminate batch
saw the list including new ones just spun up.
When creating new asg with replace_all_instances: yes and lc_check: false
the instances that are initially created are then subsequently replaced.
This change makes it so replace only occurs if the asg already existed.
Add integration tests for #28087 and #35993.
[cloud aws_s3] Most modes require `object` parameter, and this is easy to
get wrong (e.g. through confusion with the `dest` parameter). As
it's as easy to enforce, let's do that.
There should no longer be a need for boto documentation - it
just adds significant extra clutter to the guidelines.
AnsibleAWSModule greatly improves the codebase to such an extent
that we should mandate it for new code unless there is a
documented good reason.
* Update doc of AnsibleAWSModule to remove incorrect connect example.
Current example uses aws_connect method which no longer exists. Replace
this with the client and resource methods that do exist.
Also remove try/except block in connect example as guidelines imply that
there aren't connection errors thrown on connection, just when later
sing the connection.
* Update AWS module guidelines to include the AnsibleAWSModule connection methods.
* Add information on integration testing to the AWS module guidelines.
* Add information on common documentation fragments to AWS module
Guidelines.
* Changes as requested on PR.
* Restructure connection section to start with current best practice
* Explain the use of the CI build groups
* Use YAML Anchors for aws credentials example
* Replace guidance on use of test groups with link to aliases file.
This achieves the goal of explaining why this file is necessary without
introducing overhead of keeping documentation up to date when test
groups change.
* Clean up vmware BOTMETA
This removes everything that's already part of the module docs. So
basically the BOTMETA file only extends the information from the module.
* Updated author information and copyright statement
This fix adds datastore cluster details about datastore in returning
facts. Updated documentation and tests.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Better handling of absent AWS SES identity notification information.
Fixes#36065
aws_ses_identity module now handles the cases where information about
the notification setup for the identity isn't returned by the AWS api.
This seems to happen in an edge case, believed to be eventual
consistency on registering new identities. So this case is treated
as if has been no notification setup for the identity yet.
Also fix 2 flake8 warnings in the module, a missing newline and unused
import.
* Increase the Boto Retries on SES APIs to deal with throttling.
This should address the unstable integration test failing due to
parallel runs in shippable hitting AWS throttling.
* Add retries loading SES details for inclusion in successful response.
There seems to be an eventual consistency behaviour with identity
registration. It's possible to still get no identity back after
registration.
This can cause failures in the shippable builds. This should fix that by
creating a retry of retrieving the identity information after
registration.
A similar retry loop has been added to notification attributes to ensure
this doesn't suffer from the same failure.
* Add missing sleep in get_notification_attributes to avoid busy loop.
This change adds the optional wait_for_state_change argument to the
vmware_guest, vmware_guest_powerstate module, which allows for module
completion to be blocked when using the shutdownguest state until the
VM has reached the poweredoff state.
Fixes: #28498
Signed-off-by: Jim Gu <heming.gu@mercurygate.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Adding support for vApp properties.
* vm specification updated only if changes have to be applied. I.e. subsequent updates with the same data will not trigger changed state
* Auxiliary variables renamed, hope this makes the code more readable
* Integration tests changed - re-adding the same properties test not implemented, but tested on real vCenter deployment
* fixing documentation "version_added" for the feature
* Addressing reviewers comments #2:
* documentation updated with the only meaningful value for "option" attribute - "remove"
* Fixed improperly handled case when user requested "add" operation for existent property
* vApp configuration is updated only with properties that contains changes, not with all properties requested by user
* Add AWSRetry when describing VPCs to help stabilize integration tests
* Add retry on create_tags because it is possible to reach this API call before the VPC is finished creating
This fix adds a common API for getting host system managed object
from either cluster name or host system.
Fixes: #36010
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Remove module from ignore lists and some documentation fix in
digital_ocean_block_storage and digital_ocean module.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This fixes, cloning operation where template or existing VM
does not have network or DVPG. Also, adds some strict type checking in
network parameters.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Start using this to construct shade OpenStack Cloud objects in a
consistent manner. This will let us centralize things like dealing with
password arguments and whatnot. It also allows us to introduce the
ability to pass a fully formed config dict directly to the module.
Migrate all OpenStack modules to use openstack_cloud_from_module.
Have it return the shade library since it's responsible for
importing shade and shade is needed for the exceptions.
Only pull specific OpenStack arguments for the constructor
Rather than passing **module.params to the shade constructor, pull out
only the values that make sense. This should prevent the issues with
module parameters stepping on shade parameters.
Replace module.params.pop with module.params.get
We don't need to pop these anymore since the shade constructor is now
using opt-in values.
Using real urls is ungood. Use example.com domains. Also, get rid of the
antiquated port numbers.
* Added metrics_collection management to ec2_asg module to switch ASG metrics on and off.
* Fixed typo in documentation of ec2_asg module
* Removed extra blank line in ec2_asg.py
* Docs fixes for ec2_asg module
* Added integration test for ec2_asg metrics flag
* Trying different syntax for ec2_asg test
This fix adds an additional check if there is no snapshot available
in VM. `rootSnapshotList` is None, if no snapshot is taken.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* hardcoded API profiles in azure_rm_common
* changed azure_rm_securitygroup module to use api_profiles, dynamic models, kwargs on all SDK methods
* changed azure_rm_containerinstance module to use api_profiles, dynamic models, kwargs on all SDK methods
* fixed polling performance issue in azure_rm_securitygroup (default poll interval was 30s)
* Stabilize ec2_vpc_route_table
Wait for route table to be present before attempting to use it
Sleep before getting the final state of the route table in case modifications are incomplete
* Conditionally wait if changes were made
* Simplify logic
* Initial (re)implementation of dimensiondata_vlan module.
This module was rewritten because the original implementation was imperative rather than declarative (which is the preferred style, and consistent with our other modules).
Credit for the original module implementation goes to Aimon Bustardo (@aimonb).
* Remove unused imports.
* Improve error message and documentation around expansion of a VLAN's private IPv4 network.
* Split message string over 2 lines.
* Add check_mode support to dimensiondata_vlan module.
ansible/ansible#21218
* Fix errors / warnings reported by Ansible sanity tests.
ansible/ansible#21218
* Remove 'metadata_version' key from documentation.
ansible/ansible#21218
* Return changed=True when changes would be made.
ansible/ansible#21218
AWS (and Boto3) supports VPN TunnelOption keys to be specified for VPNs. Specifically (at least at the moment), the options for 'TunnelInsideCidr' (str) and 'PreSharedKey' (str) are particularly noteworthy. One or both may be specified within a 'dict' object (max 2 dicts). AWS defaults shall apply in absence of said parameters.
* Added firewall_policy, load_balancer, and monitoring_policy cloud modules for oneandone provider.
* Updated OneAndOneResources class and argument specs for monitoring policy and load balancer.
* Addressed ansible-test sanity pep8 and validate-modules errors.
* Added oneandone_public_ip cloud module for oneandone cloud provider. Removed extra modules to adhere to one module per PR.
* Added firewall_policy, load_balancer, and monitoring_policy cloud modules for oneandone provider.
* Updated OneAndOneResources class and argument specs for monitoring policy and load balancer.
* Addressed ansible-test sanity pep8 and validate-modules errors.
* Added firewall_policy, load_balancer, and monitoring_policy cloud modules for oneandone provider.
* Updated OneAndOneResources class and argument specs for monitoring policy and load balancer.
* Addressed ansible-test sanity pep8 and validate-modules errors.
* Added oneandone_private_network cloud module for oneandone cloud provider. Removed extra modules to adhere to one module per PR.
* Updated check mode scenario for remove members, using proper wait_for method in remove_network, renamed private_network_id argument to private_network.
* Fixing validate-modules issue - Documented datacenter.
* Added oneandone_private_network cloud module for oneandone cloud provider. Removed extra modules to adhere to one module per PR.
* Added firewall_policy, load_balancer, and monitoring_policy cloud modules for oneandone provider.
* Updated OneAndOneResources class and argument specs for monitoring policy and load balancer.
* Addressed ansible-test sanity pep8 and validate-modules errors.
* Removed extra modules to adhere to one module per PR.
* Added firewall_policy, load_balancer, and monitoring_policy cloud modules for oneandone provider.
* Updated OneAndOneResources class and argument specs for monitoring policy and load balancer.
* Addressed ansible-test sanity pep8 and validate-modules errors.
* Removed extra modules to adhere to one module per PR.
* New module - elb_target
* Work to add deregister functionality
* Add jurajseffer work on waiting for status change
* List the set of statuses as a choices list
* default target_status_timeout is 60
* Add 'unavailable' as a target status choice per API docs
* Add support to remove targets that are in unused state
* add support for availability zone selection
Fix deregistering targets from used target groups
Fix waiting for unused state for targets that have started deregistering
* aws ssm parameter lookup test case - fails demonstrating no exception when parameter missing
* aws ssm parameter lookup - fail in case parameter doesn't exist
* aws ssm parameter lookup test case - failing case for nice return from path lookup
* aws ssm parameter lookup - convert incoming taglist to a key-value dictionary
* aws ssm parameter lookup - pep8 / style clean up
* aws_ssm lookup plugin rewrite for more standard interface
* aws_ssm module and lookup - introduce integration test and fix:
* aws_ssm module and lookup - error case integraton test and many PEP8 and other cleanups
* aws ssm parameter lookup - Various fixes in response to review + recursive fix & test
* aws ssm parameter lookup - more in response to review - shertel/abadger
* aws ssm parameter lookup unit test - move to mocker according to abadger
* aws ssm parameter lookup - integrate with new documentation fragment
* aws ssm parameter lookup - accept either aws_profile or boto_profile
* aws ssm parameter lookup - eliminate lookup document fragment until env vars are fixed later
* Added server_type parameter - defaults to K8S
* Changed server_type default value to cloud.
* Added server_type entry to documentation and updated server_type choice K8S to k8s_node
* Added support for overriding the default ONEANDONE_API_URL, and custom wait_timeout period for wait_for methods.
* Added firewall_policy, load_balancer, and monitoring_policy cloud modules for oneandone provider.
* Updated OneAndOneResources class and argument specs for monitoring policy and load balancer.
* Addressed ansible-test sanity pep8 and validate-modules errors.
* Removed extra modules to adhere to one module per PR.
* Fixed a typo
This fix adds a fallback mechanism where Storage Datacluster
is not enabled with SDRS. If user has Storage Datacluster without SDRS
then we will not get any datastore recommendation. This will fallback to
normal datastore selection method.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* updates to azure_rm_keyvault
* fix update bugs, add update test
This fix adds a verbose message about non-existent VM when specified
with operation, due to idempotency we can not detect correct state.
Fixes: #27384
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* When using private networking the ip_address key contains the private ip.
Add the following info to module output when available:
- private_ipv4_address
- public_ipv4_address
- private_ipv6_address
- public_ipv6_address
* Remove redundant default for target_paths
* Make invalidation requests idempotent
* Remove redundant exception handling around boto3_conn
* Add cloudfront_invalidation to the changelog
This change deprecates vsphere_guest in favor of vmware_guest and other
related modules.
The major reasons behind deprecation are -
- Pysphere - Unofficial Python bindings of vCenter deprecated in the year 2013.
- VMware provides official Python bindings for vCenter, which is used in vmware_guest.
- vcsim - simulator used in integration testing of vmware module does not support PySphere
APIs, which makes it more difficult to test vsphere_guest.
Please see [deprecation plan](https://github.com/ansible/community/wiki/VMware%3A-vsphere_guest_deprecation)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
1. Removed redundant default values in argument_spec
2. Enclosed non standard python libraries in Try Except ImportError block
3. Added region as a mandatory element in argument_spec
4. Updated the typo in api_params while accessing job queue. Changed it from job_queue to jobQueue
5. Updated the set_api_params() method to use snake_dict_to_camel_dict()
6. Updated the ANSIBLE_METADATA version from 1.0 to 1.1
7. Updated the version_added in Documentation from 2.4 to 2.5
8. Initialized response value to None
9. Updated the RETUN documentation
10. Updated the return from manage_state() method to not embed batch_job_queue_action in ansible_facts
11. Updated the module.exit_json() in main() to convert any keys back to snake_dict format using camel_dict_to_snake_dict to maintain consistency throughout the module
12. Changed the filename from batch_job_queue.py to aws_batch_job_queue.py
Enforce module deprecation.
After module has reached the end of it's deprecation cycle we will replace it with a docs stub.
* Replace deprecated modules with docs-only sub
* Use of deprecated past deprecation cycle gives meaningful message (see examples below)
* Enforce documentation.deprecation dict via `schema.py`
* Update `ansible-doc` and web docs to display documentation.deprecation
* Document that structure in `dev_guide`
* Ensure that all modules starting with `_` have a `deprecation:` block
* Ensure `deprecation:` block is only used on modules that start with `_`
* `removed_in` A string which represents when this module needs **deleting**
* CHANGELOG.md and porting_guide_2.5.rst list removed modules as well as alternatives
* CHANGELOG.md links to porting guide index
To ensure that meaningful messages are given to the user if they try to use a module at the end of it's deprecation cycle we enforce the module to contain:
```python
if __name__ == '__main__':
removed_module()
```
* Add an AWS Direct Connect virtual interface module
Fix DirectConnectError exception wrapper to be compatible with fail_json_aws()
* Fix documentation and handle BotoCoreErrors as well
* Add the aws and ec2 documentation fragments
* add purge option for secondary ip addresses and fix changed to reflect when addresses are modified
* Improve option documentation and make the secondary_private_ip_addresses option required if purging secondary private ip addresses.
* ec2_eni: update version_added to 2.5 for purge_secondary_private_ip_addresses option.
* Add aws_ses_identity module
* Update CI alias, add BotoCoreError exception handling.
* Add SES and SNS permissions to hacking/aws_config to run aws_ses_identity integration tests
This adds a new module called vmware_vm_vm_drs_rule. This module add
affinity/antiaffinity rule for VM-VM in given cluster.
Fixes: #32109
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Added 'quota_id','sso', 'boot_menu', 'usb_support', 'serial_console' fields to ovirt_vms module
* always run ansible-test first
* always run ansible-test first 2
* suggested changes applied
* permit tagging of lambda functions
Signed-off-by: fernandoalex <jfernandoalex@gmail.com>
* changed iteritems for items and test for identity to is not
* fixed task name in example
* module object was not being passed to the function
Module object was not being passed to the funtions whitch was causing error in the error handling.
* Use compare_aws_tags
Check for attribute and fail if botocore needs to be updated
Update version_added
* Fix examples
* pep8
* Remove unnecessary var
Handle BotoCoreError
ecs_taskdefinition_facts should not populate ansible_facts with
so much information.
Better to just return the contents of the dict directly.
Reduce line lengths, use AnsibleAWSModule, don't reimplement
camel_dict_to_snake_dict.
`wait_for_instances: no` means do not wait for instances to become
InService/Healthy before terminating them. It does not mean don't
wait for the ASG to delete.
Not waiting for the ASG to delete can cause problems when recreating it.
Ensure that waiting for the ASG to delete respects `wait_timeout`.
Add `iam_user` module that supports check mode
Based entirely on `iam_group` with check mode support added.
Does not support management of groups, so as not to interfere with the
`iam_group` module.
* Update the copyright
* Remove e.message from exception handling since it is not available on python 3
* New aws_region_facts module to be able to get facts from AWS regions
* Fix copyright
Handle BotoCoreError too
Remove exception handling around around boto3_conn
Fix docs
Fix version_added
* Update metadata_version
Fix return doc
* New module: ec2_vpc_egress_igw
* minor pep8 fix and doc update
* add test dir and files
* add tests for gateway module
* fix up return documentation per review
* remove HAS_BOTO3 stuff as it is handled in AnsibleAWSModule per review
* fix an error with failure message and add custom handler for non-existent vpc ID
* add additional tests and update tests per review
* ignore errors on clean up tasks
* update module copyright to newer format
* fix exception handling since BotoCoreError doesnt have response attribute
* actually fix exception handling this time so it works with Py3 as well
* fix broken import
Error was:
lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py:223:0: NameError: name 'ARecord' is not defined
* doc: use formatting functions
* remove unused dict
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* updates to azure_rm_sqldatabase
* support the mutilple ip configuration
* Update azure_rm_networkinterface.py
* add test
* fix spell
* make the virtual network name more flexiable
* add test
* fix
* fix lint
* add test
* fix parameter
* deprecate the flatten ip configuration
* fix lint
* fix encoding
* fix mirror
* fix
* load model from common
* ecs_ecr: Remove registry ID from create repository call
[Boto3 documentation][1] specifies 'repositoryName' as the only expected
argument. The `**build_kwargs(registry_id)` part also adds 'registryId' which,
when executed, fails with: 'Unknown parameter in input: “registryId”, must be
one of: repositoryName'.
[AWS API documentation][2] also lists only the 'repositoryName' parameter. I.e.
this is not a problem with the boto3 library.
The default registry ID for the account that's making the request will be used
when creating the rpository. This means that if the `registry_id` specified by
the user is different from the default registry ID, then the policy changes
following the repository creation would fail, because the repository will have
been created in one repository but subsequent calls try to modify it in
another. Added a safeguard against this scenario.
[1]: https://boto3.readthedocs.io/en/latest/reference/services/ecr.html#ECR.Client.create_repository
[2]: https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_CreateRepository.html
* Fix concurrent ECR integration tests
If the `ecr_name` is the same in multiple concurrent test runs, then they can
interfere with one another causing both to fail. The `resource_prefix` is
guaranteed to be unique for different jobs running in CI an so avoids this
issue while also making it easier to identify the test which created the
resource.
It is not possible to modify the load balancer configuration
for ECS Service.
As it is possible to detect this, it's nicer to fail gracefully
than return AWS's less meaningful failure message.
Fix PEP8 compliance
This fixes get_vm method to use propertyCollector which
can efficiently find the virtual machine from given VMware
infrastructure using only name.
* VMware: Refactor vmware_guest module
* Add nested paths of datacenter
* Add tchernomax suggestions
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Moved the encryption to its own action method.
* removed silly default value for encryption type.
* Code formatting issues from pull request ANSIBOT.
* changed version_added to "2.5"
because of new new options available
* changed version_added to "2.5"
because of new new options available
* changed version_added to "2.5"
because of new new options available
* added cloudfont.py, modified cloudfront_facts.py class name and fixed a minor bug
* Improvements to cloudfront_distribution
* Reduce the scope of the cloudfront_distribution module
* Remove presigning
* Remove streaming distribution functionality
* Add full test suite for cloudfront distribution
* Meet Ansible AWS guidelines
* Make requested changes
Fix tests
Use built-in waiter
Update copyright
* Added check to prevent failed empty changesets from being left behind
* Fixing comments from PR 34933, prevent infinte loop and stricter exception catching
* Add additional properties to storage domains
* add warn low space for additional storage properties
* Fixing comments
1. Fixing documentation
2. Use default None
3. Remove redundant if condition
4. remove added discard since it was already added
* Apply comments #2
Fix default value to None
Use percentages instead of GB
* Adds custom_data parameter to azure virtual machine resource
Invoke custom_data in an integration test: This invocation of
custom_data should not cause any side effects.
* Bugfix: String encoding now works in both python2 and 3
* Fix pep8 violations
* Use nginx to serve a text file created via custom_data and verify that
that custom_data is working
* fix up azure_rm_virtualmachine custom_data
* tweaks #25924
* simplify string encoding fun
* don't rely on external packages
* adding azure_rm_mysqldatabase
* updates to azure_rm_mysqldatabase
* updates to azure_rm_mysqldatabase
* updates to azure_rm_mysqldatabase
* updates to azure_rm_mysqldatabase
* updates to azure_rm_mysqldatabase
* updates to azure_rm_mysqldatabase
* Updated docs around force_update
* adding azure_rm_postgresqldatabase
* updates to azure_rm_postgresqldatabase
* updates to azure_rm_postgresqldatabase
* updates to azure_rm_postgresqldatabase
* updates to azure_rm_postgresqldatabase
* updates to azure_rm_postgresqldatabase
* updates to azure_rm_postgresqldatabase
* Updated docs around force_update
* describe_images is very slow if not filtered to owner accounts
*or* if the Owners parameter is passed (unless the Owners parameter
is `self`). Convert Owners parameters to `owner-id` and `owner-alias`
filters where possible. Tests with CLI show that `--owners self` is
fast, `--owners 123456789012` is slow (with or without owner-id filter).
* describe_image_attributes fails against accounts other than your
own. Launch permissions are useful information, but not critical.
* first dirty container instance
* added my name ;-)
* more updates
* more updates
* removed unnecessary stuff
* container instance updates
* several fixes
* undo changes in common
* removed unnecessary references, fixed delete
* added / updated parameters
* updated samples & comments
* updated docs, comments, samples and added registry credentials
* added ip address and port
* query existing container instance (but result not used yet)
* some major changes to the module
* more fixes
* added requirement for containerinstance module
* adding integration test
* fixes for pull request
* updated version
* updated version to 2.5
* updated version
* updated integration.cloud.azure.txt as requested by test framework
* removed due to merge reasons
* updated requirements-azure.txt
* undone azure-rm-common
* lf
* properly update test requirements
* first dirty container instance
* container instance updates
* several fixes
* review related updates
* review related fixes
* undo changes in common
* added / updated parameters
* query existing container instance (but result not used yet)
* updated version to 2.5
* updated version
* removed due to merge reasons
* updated requirements-azure.txt
* undone azure-rm-common
* properly update test requirements
* minor fix - sanity
* fix one issue after rebasing
* removed files accidentally added while rebasing
* removed checking for changes
* several fixes
* fixed sanity
* updates as requested by reviewers
* removed ci as it doesn't work
* reenabled ci
* renamed container instance, removed required: false
* removed default: null
* final updates according to the review
* one more fix
* first dirty container instance
* added my name ;-)
* more updates
* more updates
* removed unnecessary stuff
* container instance updates
* several fixes
* undo changes in common
* removed unnecessary references, fixed delete
* added / updated parameters
* updated samples & comments
* updated docs, comments, samples and added registry credentials
* added ip address and port
* query existing container instance (but result not used yet)
* some major changes to the module
* more fixes
* adding integration test
* fixes for pull request
* updated version
* updated version to 2.5
* updated version
* updated integration.cloud.azure.txt as requested by test framework
* removed due to merge reasons
* updated requirements-azure.txt
* undone azure-rm-common
* lf
* properly update test requirements
* review related updates
* first dirty container instance
* container instance updates
* several fixes
* review related fixes
* undo changes in common
* added / updated parameters
* query existing container instance (but result not used yet)
* updated version to 2.5
* updated version
* removed due to merge reasons
* updated requirements-azure.txt
* undone azure-rm-common
* properly update test requirements
* minor fix - sanity
* fix one issue after rebasing
* removed files accidentally added while rebasing
* removed checking for changes
* several fixes
* fixed sanity
* updates as requested by reviewers
* removed ci as it doesn't work
* reenabled ci
* renamed container instance, removed required: false
* removed default: null
* final updates according to the review
* one more fix
* changed location as default from resource group can't handle containers
* updates to container instance
* fixed mistakes during merge
* one more fix
* another mistake
* container instance fixes
* several fixes to container instance
* return value fix
* minor update
* just one api version right now
* fixed api version
* container instance does not suppurt api version
* removed unnecessary try blocks
* removed tags related things
* fixed pep8
* final fixes?
* final updates to the module
* more fixes
* Fix ec2_vpc_net tags
PR #33105 broke the tags returned by ec2_vpc_net - it was returning the raw boto3 list instead of a dict as expected.
* Add a test for tags
* Module DOCUMENTATION should match argspec
Large update of many modules so that DOCUMENTATION option name and
aliases match those defined in the argspec.
Issues identified by https://github.com/ansible/ansible/pull/34809
In addition to many typos and missing aliases, the following notable
changes were made:
* Create `module_docs_fragments/url.py` for `url_argument_spec`
* `dellos*_command` shouldn't have ever had `waitfor` (was incorrectly copied)
* `ce_aaa_server_host.py` `s/raduis_server_type/radius_server_type/g`
* `Junos_lldp` enable should be part of `state`.
* Add VnicProfileMapping to register VM
Add vnic profile mappings to be supported in vm registration
* Add VnicProfileMapping to register template
Add vnic profile mappings to be supported in template registration
* Add reassign bad macs to register VM
Add reassign bad macs to be supported in vm registration.
* Add additional mappings params for VM registration
As part of the effort to support DR with oVirt
the "Register" operation is being added with a new mapping parameter
that describes the configuration of the registration.
The idea of supporting DR site to site in oVirt is to have 2 active
setups using storage replication between the primary setup and the
secondary setup.
Both setups will have active DCs, clusters, and hosts, although those
will not be identical.
The user can define a mapping which will be used to recover its setup.
Each mapping can be used to map any VM's attribute stored in the OVF
with its correlated entity.
For example, there could be a primary setup with a VM configured on cluster A.
We also keep an active secondary setup which only have cluster B.
Cluster B is compatible for that VM and in case of a DR scenario theoretically
the storage domain can be imported to the secondary setup and the use can
register the VM to cluster B.
In that case, we can automate the recovery process by defining a cluster mapping,
so once the entity will be registered its OVF will indicate it belongs to
cluster A but the mapping which will be sent will indicate that cluster B should
be valid for every thing that is configured on cluster A.
The engine should do the switch, and register the VM to cluster B in the secondary site.
Cluster mapping is just one example.
The following list describes the different mappings which were
introduced:
LUN mapping
Role mapping
Permissions mapping
Affinity group mapping
Affinity label mapping
Each mapping will be used for its specific OVF's data once the register operation
will take place in the engine.
* Add additional mappings params for Template registration
As part of the effort to support DR with oVirt
the "Register" operation is being added with a new mapping parameter
that describes the configuration of the registration.
The idea of supporting DR site to site in oVirt is to have 2 active
setups using storage replication between the primary setup and the
secondary setup.
Both setups will have active DCs, clusters, and hosts, although those
will not be identical.
The user can define a mapping which will be used to recover its setup.
Each mapping can be used to map any Template's attribute stored in the OVF
with its correlated entity.
For example, there could be a primary setup with a Template configured on cluster A.
We also keep an active secondary setup which only have cluster B.
Cluster B is compatible for that Template and in case of a DR scenario theoretically
the storage domain can be imported to the secondary setup and the use can
register the Template to cluster B.
In that case, we can automate the recovery process by defining a cluster mapping,
so once the entity will be registered its OVF will indicate it belongs to
cluster A but the mapping which will be sent will indicate that cluster B should
be valid for every thing that is configured on cluster A.
The engine should do the switch, and register the Template to cluster B in the
secondary site.
Cluster mapping is just one example.
The following list describes the different mappings which were
introduced:
Role mapping
Permissions mapping
Each mapping will be used for its specific OVF's data once the register operation
will take place in the engine.
* Add support for update OVF store
Add support for task of update OVF store in a storage domain.
* port elb_classic_facts to boto3
update module to use AnsibleAWSModule
* Add RETURN docs for elb_classic_lb_facts
* Remove superfluous exception handling around connection
Fix exit_json call and RETURN docs
oVirt modules support environment variables to be passed as
authentication details for connection. But ovirt_auth doesn't support
it. This patch add support for it.
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
This fix refactor vmware_host module to use PyVmomi.
Also, handle SSLVerifyFault exception to get hostsystem's certificate
thumbprint.
Fixes: #20819
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* fix broken import
* ansible.module_utils.ec2.HAS_BOTO is already used
* wait_timeout parameter: use 'int' type
* wait is always True there
* doc: use formatting function
This adds a new module called 'vmware_host_config_facts' which
gathers facts about advanced configuration informantion about ESXi host or all
ESXi hosts from given cluster.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* First pass at Terraform module
* Support output variables
* Support idempotent plan checks and external plan files
* Add check mode support
* Support custom statefile location & remove color-coding from shell output
* Docs
* Let missing statefile hard-fail
* Update to support present/planned/absent states
* PEP8
* Add docs & fix python 2.6 incompatibility
* PEP8
* PEP8
* Fix misleading cleanup/detach documentation
Current documentation is not concrete regarding desired
state of `detach` to make container be properly removed
with `cleanup`
Make `detach:false` be mentioned explicitly
* Tweak formatting
* adding azure_rm_postgresqlserver
* removed semicolon placed by mistake
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* Updated dependencies
* Allow protection of certain keys during camel_to_snake
Create an `ignore_list` parameter that preserves the case
of the contents of certain dictionaries. Most valuable
for `tags` but other uses might arise.
* Port ec2_vpc_route_table to boto3
Update tests to reflect fixes in boto3.
* Add RETURN documentation to ec2_vpc_route_table
* Update DOCUMENTATION to be valid yaml
* Add check mode tests
* Add test for unexpected egress rule in default VPC
When passing rules_egress to ec2_group, the default
egress rule shouldn't be created (if `purge_rules_egress`)
is set. Test this.
* Respect egress rule defintions for default VPC groups
When passing rules_egress and purge_rules_egress, the
default egress rule should not be created
Fixes#34429
* Change AWS credential passing to be YAML anchors
Vastly simplify the AWS tasks by reducing the credentials to a YAML
block
* wrap boto3 connection in try/except and handle exception, add traceback import
* params dont need to be mutually exclusive and support check mode
* add check to set nacl_ids to empty list instead of None for boto3 func
* standard exception handling using traceback
* update current RETURN documentation which is incorrect.
* update logic to check for and return ipv6 cidr instead of ipv4 cidr in a NACL
* ignore default and reserved rule numbers - greater than 32766
* was breaking on non-standard protocol numbers - AWS nacls now support full list -1 to 254
* update port range and icmp type/code handling
* add some more detail to returned nacl entries
* Update exception handling to account for BotoCoreError
Remove exception handling from the boto connection creation since it does nothing
* rules numbers from 32767 to 65535 are reserved for internal AWS use so we ignore here
* Add some integration tests for ec2_asg.
* Remove exception handling from ec2_asg boto3 connection since it is handled in boto3_conn().
* Update test failure assertions
* Use yaml anchor for credentials and remove unnecessary dependencies.
* Move AWS boto3 module credentials tests to separate target
* Remove filters from tests
* cs_network_offering: streamline docs a bit
* cs_network_offering: format traffic type as returned by API
* cs_network_offering: rename return to service_offering_id
* cs_network_offering: ensure absent tests don't require anyting else than name
* cs_network_offering: beautify the default_egress_policy param
* cs_network_offering: test enabling/disabling with existing syntax
* cs_network_offering: rename service_provider_list to service_providers
* cs_network_offering: allow update max_connections
* cs_network_offering: extend returns
* cs_network_offering: extend tests with max_connections
* cloudstack: rename cs_serviceoffer to cs_service_offering
* adjust references to old name
* cs_service_offering: fix limitcpuuse not handled
* minor docs fix
* update changelog
This fix adds new module for managing various roles in
local ESXi server. Also, adds integration tests for this change.
Fixes: #27899
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Use `AnsibleAWSModule`
* Update exception handling to use `fail_json_aws` and check
for `BotoCoreError` exceptions associated with bad connection
parameters.
* Remove connection creation exception handling as it does nothing.
This fix adds support for Virtual Machine resource allocation
information. This information is related to limit and reserve CPU and Memory
of virtual machine.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
The DigitalOcean API v2 supports creating a block storage volume from
a previously-saved snapshot using a snapshot_id string. This module now
likewise supports creating a block storage volume using a valid
snapshot_id string.
When creating a block storage volume from a snapshot_id using the
DigitalOcean API, the region and size_gigabytes parameters are ignored.
Therefore, these parameters are likewise ignored when using this module.
However, as of this commit, they are still required fields. It may be
necessary to find some way to eliminate these requirements if the
snapshot_id parameter is included.
The DigitalOcean API v2 allows for creating a block storage volume from
a previously-saved snapshot using the snapshot_id parameter. If this
parameter is used, the region and size_gigabytes parameters are
disregarded. In order to avoid confusion, when the snapshot_id parameter
is included when creating a block storage volume using this module, the
region and block_size fields are overridden and changed to null values.
This should make it clear that these values are NOT being used if a
snapshot_id is present.
This module will still fail as before if neither the region/block_size
or snapshot_id is not present when creating a block storage volume.
Documentation has been updated to reflect these changes.
Remove examples from main section and make sure it is all in the examples. Should helpw ith the HTML breakage (it is too wide for most monitors).
tyop fixes too.
* disk can be mounted to vm
* add version added
* fix lint
* Fix some mirrors
* fix lint
* remove trailing space
* fix as review comment
* fix yaml
* fix
* fix
* Minor update to doc on unmounting disk from VM
* WIP adds network subnetting functions
* adds functions to convert between netmask and masklen
* adds functions to verify netmask and masklen
* adds function to dtermine network and subnet from address / mask pair
* network_common: add a function to get the first 48 bits in a IPv6 address.
ec2_group: only use network bits of a CIDR.
* Add tests for CIDRs with host bits set.
* ec2_group: add warning if CIDR isn't the networking address.
* Fix pep8.
* Improve wording.
* fix import for network utils
* Update tests to use pytest instead of unittest
* add test for to_ipv6_network()
* Fix PEP8