diff --git a/lib/ansible/modules/extras/cloud/amazon/cloudformation_facts.py b/lib/ansible/modules/extras/cloud/amazon/cloudformation_facts.py
index 0e502ce5a33..ae40ed0242d 100644
--- a/lib/ansible/modules/extras/cloud/amazon/cloudformation_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/cloudformation_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cloudformation_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/cloudtrail.py b/lib/ansible/modules/extras/cloud/amazon/cloudtrail.py
index 8a8fad33415..ab4652fccd4 100644
--- a/lib/ansible/modules/extras/cloud/amazon/cloudtrail.py
+++ b/lib/ansible/modules/extras/cloud/amazon/cloudtrail.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: cloudtrail
diff --git a/lib/ansible/modules/extras/cloud/amazon/cloudwatchevent_rule.py b/lib/ansible/modules/extras/cloud/amazon/cloudwatchevent_rule.py
index 45b69cabf1e..643343d82fb 100644
--- a/lib/ansible/modules/extras/cloud/amazon/cloudwatchevent_rule.py
+++ b/lib/ansible/modules/extras/cloud/amazon/cloudwatchevent_rule.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cloudwatchevent_rule
diff --git a/lib/ansible/modules/extras/cloud/amazon/dynamodb_table.py b/lib/ansible/modules/extras/cloud/amazon/dynamodb_table.py
index 3799c0ffe35..75e410d4b71 100644
--- a/lib/ansible/modules/extras/cloud/amazon/dynamodb_table.py
+++ b/lib/ansible/modules/extras/cloud/amazon/dynamodb_table.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: dynamodb_table
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_ami_copy.py b/lib/ansible/modules/extras/cloud/amazon/ec2_ami_copy.py
index bc5fdb3af77..e5c22166527 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_ami_copy.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_ami_copy.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_ami_copy
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_asg_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_asg_facts.py
index d6eb1dc6119..3cd6e678605 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_asg_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_asg_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_asg_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_customer_gateway.py b/lib/ansible/modules/extras/cloud/amazon/ec2_customer_gateway.py
index 0138e8399e6..a8a74926cdd 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_customer_gateway.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_customer_gateway.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_customer_gateway
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_elb_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_elb_facts.py
index 19610873b03..c11b31cdd76 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_elb_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_elb_facts.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_elb_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_eni.py b/lib/ansible/modules/extras/cloud/amazon/ec2_eni.py
index 0b354380145..05076e711fd 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_eni.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_eni.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_eni
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_eni_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_eni_facts.py
index 2bae28f2165..cf3861b87b9 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_eni_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_eni_facts.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_eni_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_group_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_group_facts.py
index 6e4039f8b55..ccb4aa64e30 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_group_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_group_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_group_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_lc_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_lc_facts.py
index ea94b749f4a..b81ce8975b6 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_lc_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_lc_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_lc_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_lc_find.py b/lib/ansible/modules/extras/cloud/amazon/ec2_lc_find.py
index e5463e4ce80..d6c515d6ffe 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_lc_find.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_lc_find.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: ec2_lc_find
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_remote_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_remote_facts.py
index 2e29b798003..98ea16628fa 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_remote_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_remote_facts.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_remote_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_snapshot_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_snapshot_facts.py
index 2ce0619441f..1fd91960983 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_snapshot_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_snapshot_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_snapshot_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vol_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vol_facts.py
index 3a93426ba32..3d10d2d89fb 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vol_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vol_facts.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vol_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_dhcp_options.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_dhcp_options.py
index 198d0637177..4caee644519 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_dhcp_options.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_dhcp_options.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: ec2_vpc_dhcp_options
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_dhcp_options_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_dhcp_options_facts.py
index a60a2104892..063f525ea0f 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_dhcp_options_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_dhcp_options_facts.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vpc_dhcp_options_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_igw.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_igw.py
index 6f00c4b8d5b..23559f11bbb 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_igw.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_igw.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vpc_igw
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nacl.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nacl.py
index b3d4f197214..1758e288c61 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nacl.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nacl.py
@@ -13,6 +13,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: ec2_vpc_nacl
 short_description: create and delete Network ACLs.
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nacl_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nacl_facts.py
index b809642c714..e7f6a5b2380 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nacl_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nacl_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vpc_nacl_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nat_gateway.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nat_gateway.py
index 848b27e52ed..479c5df7959 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nat_gateway.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_nat_gateway.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vpc_nat_gateway
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_net_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_net_facts.py
index dfa29ba9d20..14e1c4920f5 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_net_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_net_facts.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vpc_net_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_peer.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_peer.py
index 3eb6582d0f7..6615ba38a27 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_peer.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_peer.py
@@ -13,6 +13,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: ec2_vpc_peer
 short_description: create, delete, accept, and reject VPC peering connections between two VPCs.
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_route_table.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_route_table.py
index c42dc652392..85947faed15 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_route_table.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_route_table.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vpc_route_table
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_route_table_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_route_table_facts.py
index e781736fd15..6ed21af9fd4 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_route_table_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_route_table_facts.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vpc_route_table_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_subnet.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_subnet.py
index c9a71a98b41..e90dbe9eeb9 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_subnet.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_subnet.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vpc_subnet
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_subnet_facts.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_subnet_facts.py
index ebd18936120..dcbe81f7fac 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_subnet_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_subnet_facts.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_vpc_subnet_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_vgw.py b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_vgw.py
index c3e4d1f1ce4..40eb386156b 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_vgw.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_vpc_vgw.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: ec2_vpc_vgw
 short_description: Create and delete AWS VPN Virtual Gateways.
diff --git a/lib/ansible/modules/extras/cloud/amazon/ec2_win_password.py b/lib/ansible/modules/extras/cloud/amazon/ec2_win_password.py
index e4245e1f11c..fbc67c150ea 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ec2_win_password.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ec2_win_password.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ec2_win_password
diff --git a/lib/ansible/modules/extras/cloud/amazon/ecs_cluster.py b/lib/ansible/modules/extras/cloud/amazon/ecs_cluster.py
index ad029d4e1f3..b1409005a8c 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ecs_cluster.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ecs_cluster.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ecs_cluster
diff --git a/lib/ansible/modules/extras/cloud/amazon/ecs_service.py b/lib/ansible/modules/extras/cloud/amazon/ecs_service.py
index 3ae77e6b519..004a11b267d 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ecs_service.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ecs_service.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ecs_service
diff --git a/lib/ansible/modules/extras/cloud/amazon/ecs_service_facts.py b/lib/ansible/modules/extras/cloud/amazon/ecs_service_facts.py
index aaee2aa01fd..e62b492c4b9 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ecs_service_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ecs_service_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ecs_service_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/ecs_task.py b/lib/ansible/modules/extras/cloud/amazon/ecs_task.py
index 86c77eceb1c..a8ecc4dde48 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ecs_task.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ecs_task.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ecs_task
diff --git a/lib/ansible/modules/extras/cloud/amazon/ecs_taskdefinition.py b/lib/ansible/modules/extras/cloud/amazon/ecs_taskdefinition.py
index 55ed9dab9c2..f06d043bc5e 100644
--- a/lib/ansible/modules/extras/cloud/amazon/ecs_taskdefinition.py
+++ b/lib/ansible/modules/extras/cloud/amazon/ecs_taskdefinition.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ecs_taskdefinition
diff --git a/lib/ansible/modules/extras/cloud/amazon/efs.py b/lib/ansible/modules/extras/cloud/amazon/efs.py
index 565d6ba5129..1def68daedc 100644
--- a/lib/ansible/modules/extras/cloud/amazon/efs.py
+++ b/lib/ansible/modules/extras/cloud/amazon/efs.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: efs
diff --git a/lib/ansible/modules/extras/cloud/amazon/efs_facts.py b/lib/ansible/modules/extras/cloud/amazon/efs_facts.py
index 3b45e068ee2..aa7adf8bee1 100644
--- a/lib/ansible/modules/extras/cloud/amazon/efs_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/efs_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: efs_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/execute_lambda.py b/lib/ansible/modules/extras/cloud/amazon/execute_lambda.py
index 03ab4264072..676d3c5e30b 100644
--- a/lib/ansible/modules/extras/cloud/amazon/execute_lambda.py
+++ b/lib/ansible/modules/extras/cloud/amazon/execute_lambda.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: execute_lambda
diff --git a/lib/ansible/modules/extras/cloud/amazon/iam_mfa_device_facts.py b/lib/ansible/modules/extras/cloud/amazon/iam_mfa_device_facts.py
index 2b97d0bee46..539867663c3 100644
--- a/lib/ansible/modules/extras/cloud/amazon/iam_mfa_device_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/iam_mfa_device_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: iam_mfa_device_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/iam_server_certificate_facts.py b/lib/ansible/modules/extras/cloud/amazon/iam_server_certificate_facts.py
index 259b5153204..1c8637362f3 100644
--- a/lib/ansible/modules/extras/cloud/amazon/iam_server_certificate_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/iam_server_certificate_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: iam_server_certificate_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/kinesis_stream.py b/lib/ansible/modules/extras/cloud/amazon/kinesis_stream.py
index 6a9994daca6..b4e0f7205bf 100644
--- a/lib/ansible/modules/extras/cloud/amazon/kinesis_stream.py
+++ b/lib/ansible/modules/extras/cloud/amazon/kinesis_stream.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: kinesis_stream
diff --git a/lib/ansible/modules/extras/cloud/amazon/lambda.py b/lib/ansible/modules/extras/cloud/amazon/lambda.py
index bbabe39949a..cef3b38e30f 100644
--- a/lib/ansible/modules/extras/cloud/amazon/lambda.py
+++ b/lib/ansible/modules/extras/cloud/amazon/lambda.py
@@ -15,6 +15,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: lambda
diff --git a/lib/ansible/modules/extras/cloud/amazon/lambda_alias.py b/lib/ansible/modules/extras/cloud/amazon/lambda_alias.py
index c85ecd2ee37..a06880e4101 100644
--- a/lib/ansible/modules/extras/cloud/amazon/lambda_alias.py
+++ b/lib/ansible/modules/extras/cloud/amazon/lambda_alias.py
@@ -22,6 +22,10 @@ except ImportError:
     HAS_BOTO3 = False
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: lambda_alias
diff --git a/lib/ansible/modules/extras/cloud/amazon/lambda_event.py b/lib/ansible/modules/extras/cloud/amazon/lambda_event.py
index ddc5a5aa951..acb057a8dee 100644
--- a/lib/ansible/modules/extras/cloud/amazon/lambda_event.py
+++ b/lib/ansible/modules/extras/cloud/amazon/lambda_event.py
@@ -24,6 +24,10 @@ except ImportError:
     HAS_BOTO3 = False
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: lambda_event
diff --git a/lib/ansible/modules/extras/cloud/amazon/lambda_facts.py b/lib/ansible/modules/extras/cloud/amazon/lambda_facts.py
index 9c17df1dd37..ac3db667948 100644
--- a/lib/ansible/modules/extras/cloud/amazon/lambda_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/lambda_facts.py
@@ -25,6 +25,10 @@ except ImportError:
     HAS_BOTO3 = False
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: lambda_facts
diff --git a/lib/ansible/modules/extras/cloud/amazon/redshift.py b/lib/ansible/modules/extras/cloud/amazon/redshift.py
index bd6911ecc50..a1ae146a427 100644
--- a/lib/ansible/modules/extras/cloud/amazon/redshift.py
+++ b/lib/ansible/modules/extras/cloud/amazon/redshift.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 author:
diff --git a/lib/ansible/modules/extras/cloud/amazon/redshift_subnet_group.py b/lib/ansible/modules/extras/cloud/amazon/redshift_subnet_group.py
index 113d57988c6..cecf68209ab 100644
--- a/lib/ansible/modules/extras/cloud/amazon/redshift_subnet_group.py
+++ b/lib/ansible/modules/extras/cloud/amazon/redshift_subnet_group.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 author:
diff --git a/lib/ansible/modules/extras/cloud/amazon/route53_facts.py b/lib/ansible/modules/extras/cloud/amazon/route53_facts.py
index ff701c66acf..07eff84a99e 100644
--- a/lib/ansible/modules/extras/cloud/amazon/route53_facts.py
+++ b/lib/ansible/modules/extras/cloud/amazon/route53_facts.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: route53_facts
 short_description: Retrieves route53 details using AWS methods
diff --git a/lib/ansible/modules/extras/cloud/amazon/route53_health_check.py b/lib/ansible/modules/extras/cloud/amazon/route53_health_check.py
index 7224d0b109c..b67fec863e6 100644
--- a/lib/ansible/modules/extras/cloud/amazon/route53_health_check.py
+++ b/lib/ansible/modules/extras/cloud/amazon/route53_health_check.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: route53_health_check
diff --git a/lib/ansible/modules/extras/cloud/amazon/route53_zone.py b/lib/ansible/modules/extras/cloud/amazon/route53_zone.py
index d18a56dc90d..bc8b3b6df85 100644
--- a/lib/ansible/modules/extras/cloud/amazon/route53_zone.py
+++ b/lib/ansible/modules/extras/cloud/amazon/route53_zone.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: route53_zone
 short_description: add or delete Route53 zones
diff --git a/lib/ansible/modules/extras/cloud/amazon/s3_bucket.py b/lib/ansible/modules/extras/cloud/amazon/s3_bucket.py
index 45e4d4fe581..0ab91322af1 100644
--- a/lib/ansible/modules/extras/cloud/amazon/s3_bucket.py
+++ b/lib/ansible/modules/extras/cloud/amazon/s3_bucket.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: s3_bucket
diff --git a/lib/ansible/modules/extras/cloud/amazon/s3_lifecycle.py b/lib/ansible/modules/extras/cloud/amazon/s3_lifecycle.py
index 2d6db45f548..20cae97fb3f 100644
--- a/lib/ansible/modules/extras/cloud/amazon/s3_lifecycle.py
+++ b/lib/ansible/modules/extras/cloud/amazon/s3_lifecycle.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: s3_lifecycle
diff --git a/lib/ansible/modules/extras/cloud/amazon/s3_logging.py b/lib/ansible/modules/extras/cloud/amazon/s3_logging.py
index e8ba87319e8..1ff918a50f7 100644
--- a/lib/ansible/modules/extras/cloud/amazon/s3_logging.py
+++ b/lib/ansible/modules/extras/cloud/amazon/s3_logging.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: s3_logging
diff --git a/lib/ansible/modules/extras/cloud/amazon/s3_website.py b/lib/ansible/modules/extras/cloud/amazon/s3_website.py
index 93de7210953..b8e1503b2d2 100644
--- a/lib/ansible/modules/extras/cloud/amazon/s3_website.py
+++ b/lib/ansible/modules/extras/cloud/amazon/s3_website.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: s3_website
diff --git a/lib/ansible/modules/extras/cloud/amazon/sns_topic.py b/lib/ansible/modules/extras/cloud/amazon/sns_topic.py
index 3882d9e5733..18dd98a997a 100644
--- a/lib/ansible/modules/extras/cloud/amazon/sns_topic.py
+++ b/lib/ansible/modules/extras/cloud/amazon/sns_topic.py
@@ -15,6 +15,10 @@
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: sns_topic
 short_description: Manages AWS SNS topics and subscriptions
diff --git a/lib/ansible/modules/extras/cloud/amazon/sqs_queue.py b/lib/ansible/modules/extras/cloud/amazon/sqs_queue.py
index 70e6d92ffc6..bad72f96bb1 100644
--- a/lib/ansible/modules/extras/cloud/amazon/sqs_queue.py
+++ b/lib/ansible/modules/extras/cloud/amazon/sqs_queue.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: sqs_queue
diff --git a/lib/ansible/modules/extras/cloud/amazon/sts_assume_role.py b/lib/ansible/modules/extras/cloud/amazon/sts_assume_role.py
index e5a87924038..67d6406d3b6 100644
--- a/lib/ansible/modules/extras/cloud/amazon/sts_assume_role.py
+++ b/lib/ansible/modules/extras/cloud/amazon/sts_assume_role.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: sts_assume_role
diff --git a/lib/ansible/modules/extras/cloud/amazon/sts_session_token.py b/lib/ansible/modules/extras/cloud/amazon/sts_session_token.py
index 320cc1d271b..4886b625fd2 100644
--- a/lib/ansible/modules/extras/cloud/amazon/sts_session_token.py
+++ b/lib/ansible/modules/extras/cloud/amazon/sts_session_token.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: sts_session_token
diff --git a/lib/ansible/modules/extras/cloud/atomic/atomic_host.py b/lib/ansible/modules/extras/cloud/atomic/atomic_host.py
index a697a3ea53d..ae4cb06e28c 100644
--- a/lib/ansible/modules/extras/cloud/atomic/atomic_host.py
+++ b/lib/ansible/modules/extras/cloud/atomic/atomic_host.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public licenses
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION='''
 ---
 module: atomic_host
diff --git a/lib/ansible/modules/extras/cloud/atomic/atomic_image.py b/lib/ansible/modules/extras/cloud/atomic/atomic_image.py
index 1011465c2c0..8210a1d3b86 100644
--- a/lib/ansible/modules/extras/cloud/atomic/atomic_image.py
+++ b/lib/ansible/modules/extras/cloud/atomic/atomic_image.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION='''
 ---
 module: atomic_image
diff --git a/lib/ansible/modules/extras/cloud/azure/azure_rm_deployment.py b/lib/ansible/modules/extras/cloud/azure/azure_rm_deployment.py
index d5f1786b13c..192222116bc 100644
--- a/lib/ansible/modules/extras/cloud/azure/azure_rm_deployment.py
+++ b/lib/ansible/modules/extras/cloud/azure/azure_rm_deployment.py
@@ -14,6 +14,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: azure_rm_deployment
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_aa_policy.py b/lib/ansible/modules/extras/cloud/centurylink/clc_aa_policy.py
index bf5f800feaf..8693f4c774b 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_aa_policy.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_aa_policy.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_aa_policy
 short_description: Create or Delete Anti Affinity Policies at CenturyLink Cloud.
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_alert_policy.py b/lib/ansible/modules/extras/cloud/centurylink/clc_alert_policy.py
index 6a619d112ae..33531fbeff8 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_alert_policy.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_alert_policy.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_alert_policy
 short_description: Create or Delete Alert Policies at CenturyLink Cloud.
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_blueprint_package.py b/lib/ansible/modules/extras/cloud/centurylink/clc_blueprint_package.py
index 4e8a392495a..8d4d28d20f8 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_blueprint_package.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_blueprint_package.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_blueprint_package
 short_description: deploys a blue print package on a set of servers in CenturyLink Cloud.
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_firewall_policy.py b/lib/ansible/modules/extras/cloud/centurylink/clc_firewall_policy.py
index 78a334a6430..4ccfe171f21 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_firewall_policy.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_firewall_policy.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_firewall_policy
 short_description: Create/delete/update firewall policies
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_group.py b/lib/ansible/modules/extras/cloud/centurylink/clc_group.py
index 0794ef0c7ef..3d81afdfa09 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_group.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_group.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_group
 short_description: Create/delete Server Groups at Centurylink Cloud
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_loadbalancer.py b/lib/ansible/modules/extras/cloud/centurylink/clc_loadbalancer.py
index dcbbfd0bc88..e159953ba3e 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_loadbalancer.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_loadbalancer.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_loadbalancer
 short_description: Create, Delete shared loadbalancers in CenturyLink Cloud.
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_modify_server.py b/lib/ansible/modules/extras/cloud/centurylink/clc_modify_server.py
index a676248ffd0..d65073daccb 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_modify_server.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_modify_server.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_modify_server
 short_description: modify servers in CenturyLink Cloud.
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_publicip.py b/lib/ansible/modules/extras/cloud/centurylink/clc_publicip.py
index 8dc2be7bd55..12e68107bf1 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_publicip.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_publicip.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_publicip
 short_description: Add and Delete public ips on servers in CenturyLink Cloud.
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_server.py b/lib/ansible/modules/extras/cloud/centurylink/clc_server.py
index f98cd54e049..721582cc33c 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_server.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_server.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_server
 short_description: Create, Delete, Start and Stop servers in CenturyLink Cloud.
diff --git a/lib/ansible/modules/extras/cloud/centurylink/clc_server_snapshot.py b/lib/ansible/modules/extras/cloud/centurylink/clc_server_snapshot.py
index 6c7e8920e46..e176f2d779f 100644
--- a/lib/ansible/modules/extras/cloud/centurylink/clc_server_snapshot.py
+++ b/lib/ansible/modules/extras/cloud/centurylink/clc_server_snapshot.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: clc_server_snapshot
 short_description: Create, Delete and Restore server snapshots in CenturyLink Cloud.
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_account.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_account.py
index 7e3e7e7a8dc..a16599bdccd 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_account.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_account.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_account
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_affinitygroup.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_affinitygroup.py
index 0db8977554d..e36db10ad43 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_affinitygroup.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_affinitygroup.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_affinitygroup
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_cluster.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_cluster.py
index 4834c07b65d..7c9d39e6149 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_cluster.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_cluster.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_cluster
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_configuration.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_configuration.py
index 9c62daeba7d..696593550a5 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_configuration.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_configuration.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_configuration
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_domain.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_domain.py
index 97085df4499..ac3eb115f78 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_domain.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_domain.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_domain
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_facts.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_facts.py
index 4a774479537..6f51127df65 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_facts.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_facts.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_facts
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_firewall.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_firewall.py
index 6989b2d438b..3654ba5ac69 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_firewall.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_firewall.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_firewall
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_instance.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_instance.py
index 127bd7ed8dc..e63384112f4 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_instance.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_instance.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_instance
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_instance_facts.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_instance_facts.py
index 4efaf645291..2aee631395d 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_instance_facts.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_instance_facts.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_instance_facts
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_instancegroup.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_instancegroup.py
index 38e6d1f9d7b..ed5396341a2 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_instancegroup.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_instancegroup.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_instancegroup
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_ip_address.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_ip_address.py
index d6737f0bf53..33956ca0e56 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_ip_address.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_ip_address.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_ip_address
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_iso.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_iso.py
index 80c255ace7e..038552f5dab 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_iso.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_iso.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_iso
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_loadbalancer_rule.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_loadbalancer_rule.py
index 6a5bff3657b..9b768f3d2b8 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_loadbalancer_rule.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_loadbalancer_rule.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_loadbalancer_rule
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_loadbalancer_rule_member.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_loadbalancer_rule_member.py
index 93026ad68bf..5944aef6f7b 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_loadbalancer_rule_member.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_loadbalancer_rule_member.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_loadbalancer_rule_member
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_network.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_network.py
index 444ac0608c7..e258d44cb37 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_network.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_network.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_network
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_nic.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_nic.py
index 4017604e38a..a9947c266e5 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_nic.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_nic.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_nic
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_pod.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_pod.py
index e78eb2844cf..afccea1404a 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_pod.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_pod.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_pod
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_portforward.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_portforward.py
index 75e29778faa..1ae0472d916 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_portforward.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_portforward.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_portforward
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_project.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_project.py
index 50d3cd0cc1e..d2271b3681f 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_project.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_project.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_project
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_region.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_region.py
index ae863f025c2..74e4c079fa6 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_region.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_region.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_region
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_resourcelimit.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_resourcelimit.py
index 40567165c5b..e5bfb7096e2 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_resourcelimit.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_resourcelimit.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_resourcelimit
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_router.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_router.py
index 73575c80010..49a2dbe7b6b 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_router.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_router.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_router
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_securitygroup.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_securitygroup.py
index cf5ac80bd1b..4a3b49dead9 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_securitygroup.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_securitygroup.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: cs_securitygroup
 short_description: Manages security groups on Apache CloudStack based clouds.
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_securitygroup_rule.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_securitygroup_rule.py
index a8221611036..7b3a544e791 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_securitygroup_rule.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_securitygroup_rule.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_securitygroup_rule
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_snapshot_policy.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_snapshot_policy.py
index d7963820c73..157d05e803c 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_snapshot_policy.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_snapshot_policy.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_snapshot_policy
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_sshkeypair.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_sshkeypair.py
index 159f39bb00d..066fcfbc18a 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_sshkeypair.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_sshkeypair.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_sshkeypair
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_staticnat.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_staticnat.py
index 623bb26fbd1..20e4407f196 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_staticnat.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_staticnat.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_staticnat
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_template.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_template.py
index 8d7eddd9df0..4a544a30895 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_template.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_template.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_template
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_user.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_user.py
index 14d9fba2c29..5ab6190a235 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_user.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_user.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_user
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_vmsnapshot.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_vmsnapshot.py
index 4c7d68847bd..2479253b599 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_vmsnapshot.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_vmsnapshot.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_vmsnapshot
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_volume.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_volume.py
index f9d31ffd84c..f812a1249c8 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_volume.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_volume.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_volume
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_vpc.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_vpc.py
index 8171cb76090..1495b865500 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_vpc.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_vpc.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http//www.gnu.or/license/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_vpc
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_zone.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_zone.py
index 2a343e0b970..1dd5dd64221 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_zone.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_zone.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_zone
diff --git a/lib/ansible/modules/extras/cloud/cloudstack/cs_zone_facts.py b/lib/ansible/modules/extras/cloud/cloudstack/cs_zone_facts.py
index 2ce82423ec6..74894b7494e 100644
--- a/lib/ansible/modules/extras/cloud/cloudstack/cs_zone_facts.py
+++ b/lib/ansible/modules/extras/cloud/cloudstack/cs_zone_facts.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cs_zone_facts
diff --git a/lib/ansible/modules/extras/cloud/google/gcdns_record.py b/lib/ansible/modules/extras/cloud/google/gcdns_record.py
index 2197aacc601..72fa1e89b01 100644
--- a/lib/ansible/modules/extras/cloud/google/gcdns_record.py
+++ b/lib/ansible/modules/extras/cloud/google/gcdns_record.py
@@ -23,6 +23,10 @@
 # Documentation
 ################################################################################
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: gcdns_record
diff --git a/lib/ansible/modules/extras/cloud/google/gcdns_zone.py b/lib/ansible/modules/extras/cloud/google/gcdns_zone.py
index 4b7bd16985b..683cb881899 100644
--- a/lib/ansible/modules/extras/cloud/google/gcdns_zone.py
+++ b/lib/ansible/modules/extras/cloud/google/gcdns_zone.py
@@ -23,6 +23,10 @@
 # Documentation
 ################################################################################
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: gcdns_zone
diff --git a/lib/ansible/modules/extras/cloud/google/gce_img.py b/lib/ansible/modules/extras/cloud/google/gce_img.py
index 010bdfdb8a6..e340808539a 100644
--- a/lib/ansible/modules/extras/cloud/google/gce_img.py
+++ b/lib/ansible/modules/extras/cloud/google/gce_img.py
@@ -18,6 +18,10 @@
 
 """An Ansible module to utilize GCE image resources."""
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: gce_img
diff --git a/lib/ansible/modules/extras/cloud/google/gce_tag.py b/lib/ansible/modules/extras/cloud/google/gce_tag.py
index 477e86b6756..7122a2398a0 100644
--- a/lib/ansible/modules/extras/cloud/google/gce_tag.py
+++ b/lib/ansible/modules/extras/cloud/google/gce_tag.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: gce_tag
diff --git a/lib/ansible/modules/extras/cloud/lxc/lxc_container.py b/lib/ansible/modules/extras/cloud/lxc/lxc_container.py
index d83be951536..d3b6804ce50 100644
--- a/lib/ansible/modules/extras/cloud/lxc/lxc_container.py
+++ b/lib/ansible/modules/extras/cloud/lxc/lxc_container.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: lxc_container
diff --git a/lib/ansible/modules/extras/cloud/lxd/lxd_container.py b/lib/ansible/modules/extras/cloud/lxd/lxd_container.py
index 3b00d3b4f7a..b4eaa5739a7 100644
--- a/lib/ansible/modules/extras/cloud/lxd/lxd_container.py
+++ b/lib/ansible/modules/extras/cloud/lxd/lxd_container.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: lxd_container
diff --git a/lib/ansible/modules/extras/cloud/lxd/lxd_profile.py b/lib/ansible/modules/extras/cloud/lxd/lxd_profile.py
index 831765bfe5f..546d0c09ea4 100644
--- a/lib/ansible/modules/extras/cloud/lxd/lxd_profile.py
+++ b/lib/ansible/modules/extras/cloud/lxd/lxd_profile.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: lxd_profile
diff --git a/lib/ansible/modules/extras/cloud/misc/ovirt.py b/lib/ansible/modules/extras/cloud/misc/ovirt.py
index 9026c0c0e00..d4b6b241f33 100644
--- a/lib/ansible/modules/extras/cloud/misc/ovirt.py
+++ b/lib/ansible/modules/extras/cloud/misc/ovirt.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt
diff --git a/lib/ansible/modules/extras/cloud/misc/proxmox.py b/lib/ansible/modules/extras/cloud/misc/proxmox.py
index 6b065bb7bca..c404519d499 100644
--- a/lib/ansible/modules/extras/cloud/misc/proxmox.py
+++ b/lib/ansible/modules/extras/cloud/misc/proxmox.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: proxmox
diff --git a/lib/ansible/modules/extras/cloud/misc/proxmox_kvm.py b/lib/ansible/modules/extras/cloud/misc/proxmox_kvm.py
index 96c06707612..e77f266b42a 100644
--- a/lib/ansible/modules/extras/cloud/misc/proxmox_kvm.py
+++ b/lib/ansible/modules/extras/cloud/misc/proxmox_kvm.py
@@ -17,6 +17,10 @@ You should have received a copy of the GNU General Public License
 along with this software.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: proxmox_kvm
diff --git a/lib/ansible/modules/extras/cloud/misc/proxmox_template.py b/lib/ansible/modules/extras/cloud/misc/proxmox_template.py
index 70cd445a185..64c9b96cb62 100644
--- a/lib/ansible/modules/extras/cloud/misc/proxmox_template.py
+++ b/lib/ansible/modules/extras/cloud/misc/proxmox_template.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: proxmox_template
diff --git a/lib/ansible/modules/extras/cloud/misc/rhevm.py b/lib/ansible/modules/extras/cloud/misc/rhevm.py
index efe775a13e4..b757aeeaff2 100644
--- a/lib/ansible/modules/extras/cloud/misc/rhevm.py
+++ b/lib/ansible/modules/extras/cloud/misc/rhevm.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rhevm
diff --git a/lib/ansible/modules/extras/cloud/misc/virt.py b/lib/ansible/modules/extras/cloud/misc/virt.py
index 468cd2c5fb6..3e9c098f3d3 100644
--- a/lib/ansible/modules/extras/cloud/misc/virt.py
+++ b/lib/ansible/modules/extras/cloud/misc/virt.py
@@ -15,6 +15,10 @@ You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: virt
diff --git a/lib/ansible/modules/extras/cloud/misc/virt_net.py b/lib/ansible/modules/extras/cloud/misc/virt_net.py
index c389520e424..a37c7ca9e38 100644
--- a/lib/ansible/modules/extras/cloud/misc/virt_net.py
+++ b/lib/ansible/modules/extras/cloud/misc/virt_net.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: virt_net
diff --git a/lib/ansible/modules/extras/cloud/misc/virt_pool.py b/lib/ansible/modules/extras/cloud/misc/virt_pool.py
index 5f93a4f1c01..a50e12710f7 100644
--- a/lib/ansible/modules/extras/cloud/misc/virt_pool.py
+++ b/lib/ansible/modules/extras/cloud/misc/virt_pool.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: virt_pool
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_flavor_facts.py b/lib/ansible/modules/extras/cloud/openstack/os_flavor_facts.py
index 6afecb61f07..c6e938b63b1 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_flavor_facts.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_flavor_facts.py
@@ -26,6 +26,10 @@ except ImportError:
 from distutils.version import StrictVersion
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_flavor_facts
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_group.py b/lib/ansible/modules/extras/cloud/openstack/os_group.py
index 4f317abccd3..2347efb483f 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_group.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_group.py
@@ -21,6 +21,10 @@ try:
 except ImportError:
     HAS_SHADE = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_group
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_ironic_inspect.py b/lib/ansible/modules/extras/cloud/openstack/os_ironic_inspect.py
index 5299da09335..b436f7f0429 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_ironic_inspect.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_ironic_inspect.py
@@ -24,6 +24,10 @@ except ImportError:
 
 from distutils.version import StrictVersion
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_ironic_inspect
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_keystone_domain.py b/lib/ansible/modules/extras/cloud/openstack/os_keystone_domain.py
index bed2f0410ce..b355971e8b5 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_keystone_domain.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_keystone_domain.py
@@ -21,6 +21,10 @@ try:
 except ImportError:
     HAS_SHADE = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_keystone_domain
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_keystone_domain_facts.py b/lib/ansible/modules/extras/cloud/openstack/os_keystone_domain_facts.py
index f62dc16f819..9e363415210 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_keystone_domain_facts.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_keystone_domain_facts.py
@@ -21,6 +21,10 @@ try:
 except ImportError:
     HAS_SHADE = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_keystone_domain_facts
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_keystone_role.py b/lib/ansible/modules/extras/cloud/openstack/os_keystone_role.py
index def91a8b326..db5b0027c05 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_keystone_role.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_keystone_role.py
@@ -21,6 +21,10 @@ try:
 except ImportError:
     HAS_SHADE = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_keystone_role
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_keystone_service.py b/lib/ansible/modules/extras/cloud/openstack/os_keystone_service.py
index 4e3e46cc5cf..d23f2881621 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_keystone_service.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_keystone_service.py
@@ -22,6 +22,10 @@ except ImportError:
 
 from distutils.version import StrictVersion
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_keystone_service
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_port_facts.py b/lib/ansible/modules/extras/cloud/openstack/os_port_facts.py
index c987fed0c3c..a7b995582a3 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_port_facts.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_port_facts.py
@@ -21,6 +21,10 @@ try:
 except ImportError:
     HAS_SHADE = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: os_port_facts
 short_description: Retrieve facts about ports within OpenStack.
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_project.py b/lib/ansible/modules/extras/cloud/openstack/os_project.py
index 4c686724c89..22f50107558 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_project.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_project.py
@@ -23,6 +23,10 @@ except ImportError:
 
 from distutils.version import StrictVersion
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_project
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_project_facts.py b/lib/ansible/modules/extras/cloud/openstack/os_project_facts.py
index a53acf532ea..856b6304ce7 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_project_facts.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_project_facts.py
@@ -21,6 +21,10 @@ try:
 except ImportError:
     HAS_SHADE = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_project_facts
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_recordset.py b/lib/ansible/modules/extras/cloud/openstack/os_recordset.py
index 0e860207166..62fa8564102 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_recordset.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_recordset.py
@@ -23,6 +23,10 @@ except ImportError:
 
 from distutils.version import StrictVersion
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_recordset
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_server_group.py b/lib/ansible/modules/extras/cloud/openstack/os_server_group.py
index 155c4497cc2..0103fef8670 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_server_group.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_server_group.py
@@ -22,6 +22,10 @@ try:
 except ImportError:
     HAS_SHADE = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_server_group
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_stack.py b/lib/ansible/modules/extras/cloud/openstack/os_stack.py
index 3d3cb9be07e..fc42b62112e 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_stack.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_stack.py
@@ -25,6 +25,10 @@ try:
 except ImportError:
     HAS_SHADE = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_stack
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_user_facts.py b/lib/ansible/modules/extras/cloud/openstack/os_user_facts.py
index 4330eb430c8..52af5b8e621 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_user_facts.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_user_facts.py
@@ -21,6 +21,10 @@ try:
 except ImportError:
     HAS_SHADE = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_user_facts
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_user_role.py b/lib/ansible/modules/extras/cloud/openstack/os_user_role.py
index 22f41830c61..41b0b73e075 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_user_role.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_user_role.py
@@ -24,6 +24,10 @@ except ImportError:
 from distutils.version import StrictVersion
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_user_role
diff --git a/lib/ansible/modules/extras/cloud/openstack/os_zone.py b/lib/ansible/modules/extras/cloud/openstack/os_zone.py
index 0a0e7ed3dae..a733d80ab22 100644
--- a/lib/ansible/modules/extras/cloud/openstack/os_zone.py
+++ b/lib/ansible/modules/extras/cloud/openstack/os_zone.py
@@ -23,6 +23,10 @@ except ImportError:
 
 from distutils.version import StrictVersion
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: os_zone
diff --git a/lib/ansible/modules/extras/cloud/ovh/ovh_ip_loadbalancing_backend.py b/lib/ansible/modules/extras/cloud/ovh/ovh_ip_loadbalancing_backend.py
index 08bcde0851b..cda220b71f6 100644
--- a/lib/ansible/modules/extras/cloud/ovh/ovh_ip_loadbalancing_backend.py
+++ b/lib/ansible/modules/extras/cloud/ovh/ovh_ip_loadbalancing_backend.py
@@ -13,6 +13,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovh_ip_loadbalancing_backend
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_affinity_labels.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_affinity_labels.py
index 3e79b1a3e69..5a680f92976 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_affinity_labels.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_affinity_labels.py
@@ -36,6 +36,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_affinity_labels
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_affinity_labels_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_affinity_labels_facts.py
index 9d13c4cb3d6..0708b7d880b 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_affinity_labels_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_affinity_labels_facts.py
@@ -31,6 +31,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_affinity_labels_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_auth.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_auth.py
index 50ed548eb9a..6f43fe8d029 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_auth.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_auth.py
@@ -25,6 +25,10 @@ except ImportError:
     pass
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_auth
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_clusters.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_clusters.py
index fda01e7f464..c40ffcddd8f 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_clusters.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_clusters.py
@@ -37,6 +37,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_clusters
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_clusters_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_clusters_facts.py
index 42a09c52c42..edcf680bee6 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_clusters_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_clusters_facts.py
@@ -30,6 +30,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_clusters_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_datacenters.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_datacenters.py
index 1e6fbf374eb..ef63709a5c9 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_datacenters.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_datacenters.py
@@ -38,6 +38,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_datacenters
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_datacenters_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_datacenters_facts.py
index f153cec10bf..6f812951584 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_datacenters_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_datacenters_facts.py
@@ -30,6 +30,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_datacenters_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_disks.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_disks.py
index f354c7a6d25..7730242afbf 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_disks.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_disks.py
@@ -28,6 +28,10 @@ except ImportError:
 from ansible.module_utils.ovirt import *
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_disks
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_external_providers.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_external_providers.py
index cfcd3c1123f..9bcb38a78f3 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_external_providers.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_external_providers.py
@@ -37,6 +37,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_external_providers
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_external_providers_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_external_providers_facts.py
index 9f3e601866c..b67ec4d89d8 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_external_providers_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_external_providers_facts.py
@@ -31,6 +31,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_external_providers_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_groups.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_groups.py
index 7170bfab3d9..34f326e64ba 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_groups.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_groups.py
@@ -37,6 +37,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_groups
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_groups_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_groups_facts.py
index 1f6ac177124..ab4252ffc93 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_groups_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_groups_facts.py
@@ -30,6 +30,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_groups_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_host_networks.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_host_networks.py
index 47404dcebe8..edf6d3c3789 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_host_networks.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_host_networks.py
@@ -28,6 +28,10 @@ except ImportError:
 from ansible.module_utils.ovirt import *
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_host_networks
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_host_pm.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_host_pm.py
index 17bf5ee9371..41475ad7bb7 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_host_pm.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_host_pm.py
@@ -28,6 +28,10 @@ except ImportError:
 from ansible.module_utils.ovirt import *
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_host_pm
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_hosts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_hosts.py
index 1a11aefdb96..1394692f8c9 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_hosts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_hosts.py
@@ -30,6 +30,10 @@ except ImportError:
 from ansible.module_utils.ovirt import *
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_hosts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_hosts_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_hosts_facts.py
index 53932868172..ad1945e538c 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_hosts_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_hosts_facts.py
@@ -27,6 +27,10 @@ except ImportError:
 from ansible.module_utils.ovirt import *
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_hosts_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_mac_pools.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_mac_pools.py
index 6f14f6f78ff..622f57d89d7 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_mac_pools.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_mac_pools.py
@@ -36,6 +36,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_mac_pools
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_networks.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_networks.py
index 44b7fefe7af..047a24d3880 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_networks.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_networks.py
@@ -38,6 +38,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_networks
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_networks_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_networks_facts.py
index 9c42244ce4c..974acbf95d8 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_networks_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_networks_facts.py
@@ -30,6 +30,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_networks_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_nics.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_nics.py
index 912e03c9881..f0513503a9b 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_nics.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_nics.py
@@ -38,6 +38,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_nics
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_nics_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_nics_facts.py
index 0e913912647..ab5fcdad721 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_nics_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_nics_facts.py
@@ -32,6 +32,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_nics_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_permissions.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_permissions.py
index 11a3182ad23..6ea833599a0 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_permissions.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_permissions.py
@@ -40,6 +40,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_permissions
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_permissions_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_permissions_facts.py
index 2c1b4fb5c01..6c855f6296d 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_permissions_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_permissions_facts.py
@@ -36,6 +36,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_permissions_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_quotas.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_quotas.py
index 4b64e53c154..d9b94afa202 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_quotas.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_quotas.py
@@ -38,6 +38,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_quotas
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_quotas_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_quotas_facts.py
index 3d354ac084d..4553f64d394 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_quotas_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_quotas_facts.py
@@ -32,6 +32,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_quotas_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_storage_domains.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_storage_domains.py
index 77e53bb710f..cfdd1230386 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_storage_domains.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_storage_domains.py
@@ -39,6 +39,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_storage_domains
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_storage_domains_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_storage_domains_facts.py
index 121ca1ae99a..23431ead50a 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_storage_domains_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_storage_domains_facts.py
@@ -30,6 +30,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_storage_domains_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_templates.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_templates.py
index ca083af6b90..831ab906c08 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_templates.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_templates.py
@@ -41,6 +41,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_templates
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_templates_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_templates_facts.py
index 189fccb9ed8..4a2c7c0d00f 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_templates_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_templates_facts.py
@@ -30,6 +30,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_templates_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_users.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_users.py
index 3abcefbe96b..4fb47122256 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_users.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_users.py
@@ -36,6 +36,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_users
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_users_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_users_facts.py
index 11f69f811e1..7d2b04f1fb1 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_users_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_users_facts.py
@@ -30,6 +30,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_users_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_vmpools.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_vmpools.py
index 4d0f839bf14..82e76d91dc1 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_vmpools.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_vmpools.py
@@ -39,6 +39,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_vmpools
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_vmpools_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_vmpools_facts.py
index eb86ae8162b..fb20a12f833 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_vmpools_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_vmpools_facts.py
@@ -30,6 +30,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_vmpools_facts
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_vms.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_vms.py
index 0c1ea05388f..4edfe0aa596 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_vms.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_vms.py
@@ -28,6 +28,10 @@ except ImportError:
 from ansible.module_utils.ovirt import *
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_vms
diff --git a/lib/ansible/modules/extras/cloud/ovirt/ovirt_vms_facts.py b/lib/ansible/modules/extras/cloud/ovirt/ovirt_vms_facts.py
index ae287c82068..2a11ad75280 100644
--- a/lib/ansible/modules/extras/cloud/ovirt/ovirt_vms_facts.py
+++ b/lib/ansible/modules/extras/cloud/ovirt/ovirt_vms_facts.py
@@ -30,6 +30,10 @@ from ansible.module_utils.ovirt import (
 )
 
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ovirt_vms_facts
diff --git a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks.py b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks.py
index caa1e0cc1ef..cfafc8e0a46 100644
--- a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks.py
+++ b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: profitbricks
diff --git a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_datacenter.py b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_datacenter.py
index de64f1c210e..b6ce2371653 100644
--- a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_datacenter.py
+++ b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_datacenter.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: profitbricks_datacenter
diff --git a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_nic.py b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_nic.py
index 8835e1175ad..01377a338b3 100644
--- a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_nic.py
+++ b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_nic.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: profitbricks_nic
diff --git a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_volume.py b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_volume.py
index a6c3d06958f..caed8579aa7 100644
--- a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_volume.py
+++ b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_volume.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: profitbricks_volume
diff --git a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_volume_attachments.py b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_volume_attachments.py
index ac4db01364f..1904c470a55 100644
--- a/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_volume_attachments.py
+++ b/lib/ansible/modules/extras/cloud/profitbricks/profitbricks_volume_attachments.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: profitbricks_volume_attachments
diff --git a/lib/ansible/modules/extras/cloud/rackspace/rax_clb_ssl.py b/lib/ansible/modules/extras/cloud/rackspace/rax_clb_ssl.py
index 57b21354110..37c35b32de6 100644
--- a/lib/ansible/modules/extras/cloud/rackspace/rax_clb_ssl.py
+++ b/lib/ansible/modules/extras/cloud/rackspace/rax_clb_ssl.py
@@ -16,6 +16,10 @@
 
 # This is a DOCUMENTATION stub specific to this module, it extends
 # a documentation fragment located in ansible.utils.module_docs_fragments
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION='''
 module: rax_clb_ssl
 short_description: Manage SSL termination for a Rackspace Cloud Load Balancer.
diff --git a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_alarm.py b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_alarm.py
index 2a7a3d8db6b..0df4fad3401 100644
--- a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_alarm.py
+++ b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_alarm.py
@@ -16,6 +16,10 @@
 
 # This is a DOCUMENTATION stub specific to this module, it extends
 # a documentation fragment located in ansible.utils.module_docs_fragments
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rax_mon_alarm
diff --git a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_check.py b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_check.py
index 6cc5eade348..c8bcfcd569a 100644
--- a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_check.py
+++ b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_check.py
@@ -16,6 +16,10 @@
 
 # This is a DOCUMENTATION stub specific to this module, it extends
 # a documentation fragment located in ansible.utils.module_docs_fragments
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rax_mon_check
diff --git a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_entity.py b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_entity.py
index bc41e1fef0c..93a568b6760 100644
--- a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_entity.py
+++ b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_entity.py
@@ -16,6 +16,10 @@
 
 # This is a DOCUMENTATION stub specific to this module, it extends
 # a documentation fragment located in ansible.utils.module_docs_fragments
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rax_mon_entity
diff --git a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_notification.py b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_notification.py
index 092b1826b8d..21396e7cb06 100644
--- a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_notification.py
+++ b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_notification.py
@@ -16,6 +16,10 @@
 
 # This is a DOCUMENTATION stub specific to this module, it extends
 # a documentation fragment located in ansible.utils.module_docs_fragments
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rax_mon_notification
diff --git a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_notification_plan.py b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_notification_plan.py
index 41a15bca239..a0b283884ff 100644
--- a/lib/ansible/modules/extras/cloud/rackspace/rax_mon_notification_plan.py
+++ b/lib/ansible/modules/extras/cloud/rackspace/rax_mon_notification_plan.py
@@ -16,6 +16,10 @@
 
 # This is a DOCUMENTATION stub specific to this module, it extends
 # a documentation fragment located in ansible.utils.module_docs_fragments
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rax_mon_notification_plan
diff --git a/lib/ansible/modules/extras/cloud/serverless.py b/lib/ansible/modules/extras/cloud/serverless.py
index e065139c71b..a075a2b49b0 100644
--- a/lib/ansible/modules/extras/cloud/serverless.py
+++ b/lib/ansible/modules/extras/cloud/serverless.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: serverless
diff --git a/lib/ansible/modules/extras/cloud/smartos/smartos_image_facts.py b/lib/ansible/modules/extras/cloud/smartos/smartos_image_facts.py
index 6a16e2e9653..487aa3f648c 100644
--- a/lib/ansible/modules/extras/cloud/smartos/smartos_image_facts.py
+++ b/lib/ansible/modules/extras/cloud/smartos/smartos_image_facts.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: smartos_image_facts
diff --git a/lib/ansible/modules/extras/cloud/softlayer/sl_vm.py b/lib/ansible/modules/extras/cloud/softlayer/sl_vm.py
index 1866d1a57e3..b24c0f06fac 100644
--- a/lib/ansible/modules/extras/cloud/softlayer/sl_vm.py
+++ b/lib/ansible/modules/extras/cloud/softlayer/sl_vm.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: sl_vm
diff --git a/lib/ansible/modules/extras/cloud/vmware/vca_fw.py b/lib/ansible/modules/extras/cloud/vmware/vca_fw.py
index 019cd2adb01..ef35eaeec82 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vca_fw.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vca_fw.py
@@ -14,6 +14,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vca_fw
diff --git a/lib/ansible/modules/extras/cloud/vmware/vca_nat.py b/lib/ansible/modules/extras/cloud/vmware/vca_nat.py
index 7dfa0cd3a67..5ac3f745e56 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vca_nat.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vca_nat.py
@@ -18,6 +18,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vca_nat
diff --git a/lib/ansible/modules/extras/cloud/vmware/vca_vapp.py b/lib/ansible/modules/extras/cloud/vmware/vca_vapp.py
index 68ed5f255db..4ebdda24d6c 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vca_vapp.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vca_vapp.py
@@ -18,6 +18,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vca_vapp
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_cluster.py b/lib/ansible/modules/extras/cloud/vmware/vmware_cluster.py
index 8067d36de2c..5fd986d52b0 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_cluster.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_cluster.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_cluster
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_datacenter.py b/lib/ansible/modules/extras/cloud/vmware/vmware_datacenter.py
index ef2fd2f1f73..fb60f2c9f5c 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_datacenter.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_datacenter.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_datacenter
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_dns_config.py b/lib/ansible/modules/extras/cloud/vmware/vmware_dns_config.py
index 57eda23b7d4..4faa8b6e295 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_dns_config.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_dns_config.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_dns_config
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_dvs_host.py b/lib/ansible/modules/extras/cloud/vmware/vmware_dvs_host.py
index dcfb4ba7f58..031b90ec66f 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_dvs_host.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_dvs_host.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_dvs_host
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_dvs_portgroup.py b/lib/ansible/modules/extras/cloud/vmware/vmware_dvs_portgroup.py
index 06b39672ed1..58b4cff67c7 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_dvs_portgroup.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_dvs_portgroup.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_dvs_portgroup
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_dvswitch.py b/lib/ansible/modules/extras/cloud/vmware/vmware_dvswitch.py
index fb9d530605f..b3108f6a9d3 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_dvswitch.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_dvswitch.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_dvswitch
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_guest.py b/lib/ansible/modules/extras/cloud/vmware/vmware_guest.py
index bcc505dce1f..51751a53b4d 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_guest.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_guest.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_guest
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_host.py b/lib/ansible/modules/extras/cloud/vmware/vmware_host.py
index dd8e2f9eed4..22cb82d55db 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_host.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_host.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_host
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_local_user_manager.py b/lib/ansible/modules/extras/cloud/vmware/vmware_local_user_manager.py
index ff7736fe883..ac52b57465a 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_local_user_manager.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_local_user_manager.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_local_user_manager
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_maintenancemode.py b/lib/ansible/modules/extras/cloud/vmware/vmware_maintenancemode.py
index 84d774ec765..54e8958900a 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_maintenancemode.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_maintenancemode.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_maintenancemode
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_migrate_vmk.py b/lib/ansible/modules/extras/cloud/vmware/vmware_migrate_vmk.py
index a18dcc4a883..730102c2049 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_migrate_vmk.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_migrate_vmk.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_migrate_vmk
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_portgroup.py b/lib/ansible/modules/extras/cloud/vmware/vmware_portgroup.py
index c367a976f23..089d584d039 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_portgroup.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_portgroup.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_portgroup
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_target_canonical_facts.py b/lib/ansible/modules/extras/cloud/vmware/vmware_target_canonical_facts.py
index cbf9d3edaa9..817d736d3ae 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_target_canonical_facts.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_target_canonical_facts.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_target_canonical_facts
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_vm_facts.py b/lib/ansible/modules/extras/cloud/vmware/vmware_vm_facts.py
index 62381849144..46de7a39157 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_vm_facts.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_vm_facts.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_vm_facts
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_vm_shell.py b/lib/ansible/modules/extras/cloud/vmware/vmware_vm_shell.py
index 80b4df192bd..34eb6b0f446 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_vm_shell.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_vm_shell.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_vm_shell
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_vm_vss_dvs_migrate.py b/lib/ansible/modules/extras/cloud/vmware/vmware_vm_vss_dvs_migrate.py
index 00d98a3200d..594a9e17830 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_vm_vss_dvs_migrate.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_vm_vss_dvs_migrate.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_vm_vss_dvs_migrate
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_vmkernel.py b/lib/ansible/modules/extras/cloud/vmware/vmware_vmkernel.py
index 863a41226af..238b85ea345 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_vmkernel.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_vmkernel.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_vmkernel
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_vmkernel_ip_config.py b/lib/ansible/modules/extras/cloud/vmware/vmware_vmkernel_ip_config.py
index 31c50e6c68c..fe545e356d8 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_vmkernel_ip_config.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_vmkernel_ip_config.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_vmkernel_ip_config
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_vmotion.py b/lib/ansible/modules/extras/cloud/vmware/vmware_vmotion.py
index 43e8a5d5d0b..0ceaf597879 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_vmotion.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_vmotion.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_vmotion
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_vsan_cluster.py b/lib/ansible/modules/extras/cloud/vmware/vmware_vsan_cluster.py
index 3f2bad1fa80..714f6f22ff8 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_vsan_cluster.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_vsan_cluster.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_vsan_cluster
diff --git a/lib/ansible/modules/extras/cloud/vmware/vmware_vswitch.py b/lib/ansible/modules/extras/cloud/vmware/vmware_vswitch.py
index 7b115056ef5..ef14f2d6bfc 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vmware_vswitch.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vmware_vswitch.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vmware_vswitch
diff --git a/lib/ansible/modules/extras/cloud/vmware/vsphere_copy.py b/lib/ansible/modules/extras/cloud/vmware/vsphere_copy.py
index 8582c39c358..7e2ef125c86 100644
--- a/lib/ansible/modules/extras/cloud/vmware/vsphere_copy.py
+++ b/lib/ansible/modules/extras/cloud/vmware/vsphere_copy.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: vsphere_copy
diff --git a/lib/ansible/modules/extras/cloud/webfaction/webfaction_app.py b/lib/ansible/modules/extras/cloud/webfaction/webfaction_app.py
index 77cb6f17554..63c00bd1778 100644
--- a/lib/ansible/modules/extras/cloud/webfaction/webfaction_app.py
+++ b/lib/ansible/modules/extras/cloud/webfaction/webfaction_app.py
@@ -27,6 +27,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: webfaction_app
diff --git a/lib/ansible/modules/extras/cloud/webfaction/webfaction_db.py b/lib/ansible/modules/extras/cloud/webfaction/webfaction_db.py
index 8f3d77c3dfb..6fe785f76a9 100644
--- a/lib/ansible/modules/extras/cloud/webfaction/webfaction_db.py
+++ b/lib/ansible/modules/extras/cloud/webfaction/webfaction_db.py
@@ -24,6 +24,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: webfaction_db
diff --git a/lib/ansible/modules/extras/cloud/webfaction/webfaction_domain.py b/lib/ansible/modules/extras/cloud/webfaction/webfaction_domain.py
index d89add88cb1..859209c9ce7 100644
--- a/lib/ansible/modules/extras/cloud/webfaction/webfaction_domain.py
+++ b/lib/ansible/modules/extras/cloud/webfaction/webfaction_domain.py
@@ -22,6 +22,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: webfaction_domain
diff --git a/lib/ansible/modules/extras/cloud/webfaction/webfaction_mailbox.py b/lib/ansible/modules/extras/cloud/webfaction/webfaction_mailbox.py
index 08008d7d5cf..2132eeaffbb 100644
--- a/lib/ansible/modules/extras/cloud/webfaction/webfaction_mailbox.py
+++ b/lib/ansible/modules/extras/cloud/webfaction/webfaction_mailbox.py
@@ -21,6 +21,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: webfaction_mailbox
diff --git a/lib/ansible/modules/extras/cloud/webfaction/webfaction_site.py b/lib/ansible/modules/extras/cloud/webfaction/webfaction_site.py
index 46f440b6a02..08a9b4d76d4 100644
--- a/lib/ansible/modules/extras/cloud/webfaction/webfaction_site.py
+++ b/lib/ansible/modules/extras/cloud/webfaction/webfaction_site.py
@@ -22,6 +22,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: webfaction_site
diff --git a/lib/ansible/modules/extras/cloud/xenserver_facts.py b/lib/ansible/modules/extras/cloud/xenserver_facts.py
index 1ca8e9e6c81..d908e5a3fdd 100644
--- a/lib/ansible/modules/extras/cloud/xenserver_facts.py
+++ b/lib/ansible/modules/extras/cloud/xenserver_facts.py
@@ -15,6 +15,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: xenserver_facts
diff --git a/lib/ansible/modules/extras/clustering/consul.py b/lib/ansible/modules/extras/clustering/consul.py
index 7f2b7d7e5fa..fd69726eef9 100644
--- a/lib/ansible/modules/extras/clustering/consul.py
+++ b/lib/ansible/modules/extras/clustering/consul.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: consul
 short_description: "Add, modify & delete services within a consul cluster."
diff --git a/lib/ansible/modules/extras/clustering/consul_acl.py b/lib/ansible/modules/extras/clustering/consul_acl.py
index 858f6aea50e..845c26f98fe 100644
--- a/lib/ansible/modules/extras/clustering/consul_acl.py
+++ b/lib/ansible/modules/extras/clustering/consul_acl.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: consul_acl
 short_description: "manipulate consul acl keys and rules"
diff --git a/lib/ansible/modules/extras/clustering/consul_kv.py b/lib/ansible/modules/extras/clustering/consul_kv.py
index e409f2a3a58..1f3db18359c 100644
--- a/lib/ansible/modules/extras/clustering/consul_kv.py
+++ b/lib/ansible/modules/extras/clustering/consul_kv.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: consul_kv
 short_description: Manipulate entries in the key/value store of a consul cluster.
diff --git a/lib/ansible/modules/extras/clustering/consul_session.py b/lib/ansible/modules/extras/clustering/consul_session.py
index 7b9c4bbbb9b..e2c23c45dc5 100644
--- a/lib/ansible/modules/extras/clustering/consul_session.py
+++ b/lib/ansible/modules/extras/clustering/consul_session.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: consul_session
 short_description: "manipulate consul sessions"
diff --git a/lib/ansible/modules/extras/clustering/kubernetes.py b/lib/ansible/modules/extras/clustering/kubernetes.py
index 12c62b30924..20514b0fe0a 100644
--- a/lib/ansible/modules/extras/clustering/kubernetes.py
+++ b/lib/ansible/modules/extras/clustering/kubernetes.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: kubernetes
diff --git a/lib/ansible/modules/extras/clustering/znode.py b/lib/ansible/modules/extras/clustering/znode.py
index 90c0420ad5d..44cdc2bc83b 100644
--- a/lib/ansible/modules/extras/clustering/znode.py
+++ b/lib/ansible/modules/extras/clustering/znode.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: znode
diff --git a/lib/ansible/modules/extras/commands/expect.py b/lib/ansible/modules/extras/commands/expect.py
index a8eff373e06..77dcdfdfa0a 100644
--- a/lib/ansible/modules/extras/commands/expect.py
+++ b/lib/ansible/modules/extras/commands/expect.py
@@ -27,6 +27,10 @@ except ImportError:
     HAS_PEXPECT = False
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: expect
diff --git a/lib/ansible/modules/extras/crypto/openssl_privatekey.py b/lib/ansible/modules/extras/crypto/openssl_privatekey.py
index e9be5e35635..d643142c653 100644
--- a/lib/ansible/modules/extras/crypto/openssl_privatekey.py
+++ b/lib/ansible/modules/extras/crypto/openssl_privatekey.py
@@ -28,6 +28,10 @@ else:
 
 import os
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: openssl_privatekey
diff --git a/lib/ansible/modules/extras/crypto/openssl_publickey.py b/lib/ansible/modules/extras/crypto/openssl_publickey.py
index c01364c8ce8..6ac73dc975e 100644
--- a/lib/ansible/modules/extras/crypto/openssl_publickey.py
+++ b/lib/ansible/modules/extras/crypto/openssl_publickey.py
@@ -28,6 +28,10 @@ else:
 
 import os
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: openssl_publickey
diff --git a/lib/ansible/modules/extras/database/influxdb/influxdb_database.py b/lib/ansible/modules/extras/database/influxdb/influxdb_database.py
index 7cedc44d4da..2e1245850da 100644
--- a/lib/ansible/modules/extras/database/influxdb/influxdb_database.py
+++ b/lib/ansible/modules/extras/database/influxdb/influxdb_database.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: influxdb_database
diff --git a/lib/ansible/modules/extras/database/influxdb/influxdb_retention_policy.py b/lib/ansible/modules/extras/database/influxdb/influxdb_retention_policy.py
index ec4c32da215..7541b3dfd0d 100644
--- a/lib/ansible/modules/extras/database/influxdb/influxdb_retention_policy.py
+++ b/lib/ansible/modules/extras/database/influxdb/influxdb_retention_policy.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: influxdb_retention_policy
diff --git a/lib/ansible/modules/extras/database/misc/mongodb_parameter.py b/lib/ansible/modules/extras/database/misc/mongodb_parameter.py
index 8dafeea179e..d284d2cc3f8 100644
--- a/lib/ansible/modules/extras/database/misc/mongodb_parameter.py
+++ b/lib/ansible/modules/extras/database/misc/mongodb_parameter.py
@@ -22,6 +22,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: mongodb_parameter
diff --git a/lib/ansible/modules/extras/database/misc/mongodb_user.py b/lib/ansible/modules/extras/database/misc/mongodb_user.py
index 67b5fa5c4e5..02bf22627f8 100644
--- a/lib/ansible/modules/extras/database/misc/mongodb_user.py
+++ b/lib/ansible/modules/extras/database/misc/mongodb_user.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: mongodb_user
diff --git a/lib/ansible/modules/extras/database/misc/redis.py b/lib/ansible/modules/extras/database/misc/redis.py
index b448e7e39ad..6ad225e995e 100644
--- a/lib/ansible/modules/extras/database/misc/redis.py
+++ b/lib/ansible/modules/extras/database/misc/redis.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: redis
diff --git a/lib/ansible/modules/extras/database/misc/riak.py b/lib/ansible/modules/extras/database/misc/riak.py
index bec1ce8928b..af4ec9489f3 100644
--- a/lib/ansible/modules/extras/database/misc/riak.py
+++ b/lib/ansible/modules/extras/database/misc/riak.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: riak
diff --git a/lib/ansible/modules/extras/database/mssql/mssql_db.py b/lib/ansible/modules/extras/database/mssql/mssql_db.py
index eb6866151b8..2daf74d011e 100644
--- a/lib/ansible/modules/extras/database/mssql/mssql_db.py
+++ b/lib/ansible/modules/extras/database/mssql/mssql_db.py
@@ -20,6 +20,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: mssql_db
diff --git a/lib/ansible/modules/extras/database/mysql/mysql_replication.py b/lib/ansible/modules/extras/database/mysql/mysql_replication.py
index ed9f8af5612..d4ba8d0cee4 100644
--- a/lib/ansible/modules/extras/database/mysql/mysql_replication.py
+++ b/lib/ansible/modules/extras/database/mysql/mysql_replication.py
@@ -22,6 +22,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: mysql_replication
diff --git a/lib/ansible/modules/extras/database/postgresql/postgresql_ext.py b/lib/ansible/modules/extras/database/postgresql/postgresql_ext.py
index e1b16ca0e56..4f0049f566e 100644
--- a/lib/ansible/modules/extras/database/postgresql/postgresql_ext.py
+++ b/lib/ansible/modules/extras/database/postgresql/postgresql_ext.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: postgresql_ext
diff --git a/lib/ansible/modules/extras/database/postgresql/postgresql_lang.py b/lib/ansible/modules/extras/database/postgresql/postgresql_lang.py
index 340664539eb..0028442c2b9 100644
--- a/lib/ansible/modules/extras/database/postgresql/postgresql_lang.py
+++ b/lib/ansible/modules/extras/database/postgresql/postgresql_lang.py
@@ -17,6 +17,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: postgresql_lang
diff --git a/lib/ansible/modules/extras/database/postgresql/postgresql_schema.py b/lib/ansible/modules/extras/database/postgresql/postgresql_schema.py
index 06cf048d43e..52c1e5843ee 100644
--- a/lib/ansible/modules/extras/database/postgresql/postgresql_schema.py
+++ b/lib/ansible/modules/extras/database/postgresql/postgresql_schema.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: postgresql_schema
diff --git a/lib/ansible/modules/extras/database/vertica/vertica_configuration.py b/lib/ansible/modules/extras/database/vertica/vertica_configuration.py
index ad23a267024..779417cab38 100644
--- a/lib/ansible/modules/extras/database/vertica/vertica_configuration.py
+++ b/lib/ansible/modules/extras/database/vertica/vertica_configuration.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: vertica_configuration
diff --git a/lib/ansible/modules/extras/database/vertica/vertica_facts.py b/lib/ansible/modules/extras/database/vertica/vertica_facts.py
index 2c036334303..1843e9495b6 100644
--- a/lib/ansible/modules/extras/database/vertica/vertica_facts.py
+++ b/lib/ansible/modules/extras/database/vertica/vertica_facts.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: vertica_facts
diff --git a/lib/ansible/modules/extras/database/vertica/vertica_role.py b/lib/ansible/modules/extras/database/vertica/vertica_role.py
index 4ec82d0fe23..ffd91fbd854 100644
--- a/lib/ansible/modules/extras/database/vertica/vertica_role.py
+++ b/lib/ansible/modules/extras/database/vertica/vertica_role.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: vertica_role
diff --git a/lib/ansible/modules/extras/database/vertica/vertica_schema.py b/lib/ansible/modules/extras/database/vertica/vertica_schema.py
index fd1854301a1..d1aa32495dc 100644
--- a/lib/ansible/modules/extras/database/vertica/vertica_schema.py
+++ b/lib/ansible/modules/extras/database/vertica/vertica_schema.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: vertica_schema
diff --git a/lib/ansible/modules/extras/database/vertica/vertica_user.py b/lib/ansible/modules/extras/database/vertica/vertica_user.py
index 395a58ae04b..e743c8889ee 100644
--- a/lib/ansible/modules/extras/database/vertica/vertica_user.py
+++ b/lib/ansible/modules/extras/database/vertica/vertica_user.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: vertica_user
diff --git a/lib/ansible/modules/extras/files/archive.py b/lib/ansible/modules/extras/files/archive.py
index 7d27fb3e858..93ddbe76cde 100644
--- a/lib/ansible/modules/extras/files/archive.py
+++ b/lib/ansible/modules/extras/files/archive.py
@@ -25,6 +25,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: archive
diff --git a/lib/ansible/modules/extras/files/blockinfile.py b/lib/ansible/modules/extras/files/blockinfile.py
index ece253cbe23..0d83a447c92 100755
--- a/lib/ansible/modules/extras/files/blockinfile.py
+++ b/lib/ansible/modules/extras/files/blockinfile.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: blockinfile
diff --git a/lib/ansible/modules/extras/files/patch.py b/lib/ansible/modules/extras/files/patch.py
index 8b62c519073..c5aecf4e0d4 100644
--- a/lib/ansible/modules/extras/files/patch.py
+++ b/lib/ansible/modules/extras/files/patch.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: patch
diff --git a/lib/ansible/modules/extras/files/tempfile.py b/lib/ansible/modules/extras/files/tempfile.py
index 35969141fe7..021c88dbbb1 100644
--- a/lib/ansible/modules/extras/files/tempfile.py
+++ b/lib/ansible/modules/extras/files/tempfile.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: tempfile
diff --git a/lib/ansible/modules/extras/identity/ipa/ipa_group.py b/lib/ansible/modules/extras/identity/ipa/ipa_group.py
index 246b769dd0d..e34efc48daf 100644
--- a/lib/ansible/modules/extras/identity/ipa/ipa_group.py
+++ b/lib/ansible/modules/extras/identity/ipa/ipa_group.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipa_group
diff --git a/lib/ansible/modules/extras/identity/ipa/ipa_hbacrule.py b/lib/ansible/modules/extras/identity/ipa/ipa_hbacrule.py
index 29661fe77bf..d93bc32fd45 100644
--- a/lib/ansible/modules/extras/identity/ipa/ipa_hbacrule.py
+++ b/lib/ansible/modules/extras/identity/ipa/ipa_hbacrule.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipa_hbacrule
diff --git a/lib/ansible/modules/extras/identity/ipa/ipa_host.py b/lib/ansible/modules/extras/identity/ipa/ipa_host.py
index 59c6772673d..17b78500bc5 100644
--- a/lib/ansible/modules/extras/identity/ipa/ipa_host.py
+++ b/lib/ansible/modules/extras/identity/ipa/ipa_host.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipa_host
diff --git a/lib/ansible/modules/extras/identity/ipa/ipa_hostgroup.py b/lib/ansible/modules/extras/identity/ipa/ipa_hostgroup.py
index ba1ee33b8ac..57fbc5b4531 100644
--- a/lib/ansible/modules/extras/identity/ipa/ipa_hostgroup.py
+++ b/lib/ansible/modules/extras/identity/ipa/ipa_hostgroup.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipa_hostgroup
diff --git a/lib/ansible/modules/extras/identity/ipa/ipa_role.py b/lib/ansible/modules/extras/identity/ipa/ipa_role.py
index 9740a4d4a4d..95cd2bc45ed 100644
--- a/lib/ansible/modules/extras/identity/ipa/ipa_role.py
+++ b/lib/ansible/modules/extras/identity/ipa/ipa_role.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipa_role
diff --git a/lib/ansible/modules/extras/identity/ipa/ipa_sudocmd.py b/lib/ansible/modules/extras/identity/ipa/ipa_sudocmd.py
index 0a86bf68821..6ec3c84bb1d 100644
--- a/lib/ansible/modules/extras/identity/ipa/ipa_sudocmd.py
+++ b/lib/ansible/modules/extras/identity/ipa/ipa_sudocmd.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipa_sudocmd
diff --git a/lib/ansible/modules/extras/identity/ipa/ipa_sudocmdgroup.py b/lib/ansible/modules/extras/identity/ipa/ipa_sudocmdgroup.py
index b6730bccefe..e1d0e9b6021 100644
--- a/lib/ansible/modules/extras/identity/ipa/ipa_sudocmdgroup.py
+++ b/lib/ansible/modules/extras/identity/ipa/ipa_sudocmdgroup.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipa_sudocmdgroup
diff --git a/lib/ansible/modules/extras/identity/ipa/ipa_sudorule.py b/lib/ansible/modules/extras/identity/ipa/ipa_sudorule.py
index b8a4c062777..f5da15a7046 100644
--- a/lib/ansible/modules/extras/identity/ipa/ipa_sudorule.py
+++ b/lib/ansible/modules/extras/identity/ipa/ipa_sudorule.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipa_sudorule
diff --git a/lib/ansible/modules/extras/identity/ipa/ipa_user.py b/lib/ansible/modules/extras/identity/ipa/ipa_user.py
index 9ee677b6653..5e020d73440 100644
--- a/lib/ansible/modules/extras/identity/ipa/ipa_user.py
+++ b/lib/ansible/modules/extras/identity/ipa/ipa_user.py
@@ -15,6 +15,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipa_user
diff --git a/lib/ansible/modules/extras/identity/opendj/opendj_backendprop.py b/lib/ansible/modules/extras/identity/opendj/opendj_backendprop.py
index 8af70c6cad4..893bbfdd47d 100644
--- a/lib/ansible/modules/extras/identity/opendj/opendj_backendprop.py
+++ b/lib/ansible/modules/extras/identity/opendj/opendj_backendprop.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: opendj_backendprop
diff --git a/lib/ansible/modules/extras/infrastructure/foreman/foreman.py b/lib/ansible/modules/extras/infrastructure/foreman/foreman.py
index febb7d833c2..d7dcb5f2959 100644
--- a/lib/ansible/modules/extras/infrastructure/foreman/foreman.py
+++ b/lib/ansible/modules/extras/infrastructure/foreman/foreman.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: foreman
diff --git a/lib/ansible/modules/extras/infrastructure/foreman/katello.py b/lib/ansible/modules/extras/infrastructure/foreman/katello.py
index 3d5219240b9..86b7be0622c 100644
--- a/lib/ansible/modules/extras/infrastructure/foreman/katello.py
+++ b/lib/ansible/modules/extras/infrastructure/foreman/katello.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: katello
diff --git a/lib/ansible/modules/extras/messaging/rabbitmq_binding.py b/lib/ansible/modules/extras/messaging/rabbitmq_binding.py
index 2d0f9e4f089..428bec096f3 100644
--- a/lib/ansible/modules/extras/messaging/rabbitmq_binding.py
+++ b/lib/ansible/modules/extras/messaging/rabbitmq_binding.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rabbitmq_binding
diff --git a/lib/ansible/modules/extras/messaging/rabbitmq_exchange.py b/lib/ansible/modules/extras/messaging/rabbitmq_exchange.py
index 011b63facc7..03db81d3864 100644
--- a/lib/ansible/modules/extras/messaging/rabbitmq_exchange.py
+++ b/lib/ansible/modules/extras/messaging/rabbitmq_exchange.py
@@ -1,5 +1,9 @@
 #!/usr/bin/python
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: rabbitmq_exchange
 author: "Manuel Sousa (@manuel-sousa)"
diff --git a/lib/ansible/modules/extras/messaging/rabbitmq_parameter.py b/lib/ansible/modules/extras/messaging/rabbitmq_parameter.py
index f3d188fd25a..32959f2e562 100644
--- a/lib/ansible/modules/extras/messaging/rabbitmq_parameter.py
+++ b/lib/ansible/modules/extras/messaging/rabbitmq_parameter.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rabbitmq_parameter
diff --git a/lib/ansible/modules/extras/messaging/rabbitmq_plugin.py b/lib/ansible/modules/extras/messaging/rabbitmq_plugin.py
index 832af02faf8..cc16966dcf4 100644
--- a/lib/ansible/modules/extras/messaging/rabbitmq_plugin.py
+++ b/lib/ansible/modules/extras/messaging/rabbitmq_plugin.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rabbitmq_plugin
diff --git a/lib/ansible/modules/extras/messaging/rabbitmq_policy.py b/lib/ansible/modules/extras/messaging/rabbitmq_policy.py
index ef7ffc60686..6d5a053f3d6 100644
--- a/lib/ansible/modules/extras/messaging/rabbitmq_policy.py
+++ b/lib/ansible/modules/extras/messaging/rabbitmq_policy.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rabbitmq_policy
diff --git a/lib/ansible/modules/extras/messaging/rabbitmq_queue.py b/lib/ansible/modules/extras/messaging/rabbitmq_queue.py
index 68d869da67f..bacb02b5be1 100644
--- a/lib/ansible/modules/extras/messaging/rabbitmq_queue.py
+++ b/lib/ansible/modules/extras/messaging/rabbitmq_queue.py
@@ -1,5 +1,9 @@
 #!/usr/bin/python
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: rabbitmq_queue
 author: "Manuel Sousa (@manuel-sousa)"
diff --git a/lib/ansible/modules/extras/messaging/rabbitmq_user.py b/lib/ansible/modules/extras/messaging/rabbitmq_user.py
index c51c6b0b592..02afe298cb2 100644
--- a/lib/ansible/modules/extras/messaging/rabbitmq_user.py
+++ b/lib/ansible/modules/extras/messaging/rabbitmq_user.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rabbitmq_user
diff --git a/lib/ansible/modules/extras/messaging/rabbitmq_vhost.py b/lib/ansible/modules/extras/messaging/rabbitmq_vhost.py
index ad8f9cba207..635d8b77bbe 100644
--- a/lib/ansible/modules/extras/messaging/rabbitmq_vhost.py
+++ b/lib/ansible/modules/extras/messaging/rabbitmq_vhost.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rabbitmq_vhost
diff --git a/lib/ansible/modules/extras/monitoring/airbrake_deployment.py b/lib/ansible/modules/extras/monitoring/airbrake_deployment.py
index d6daec2ceb4..124a801ea94 100644
--- a/lib/ansible/modules/extras/monitoring/airbrake_deployment.py
+++ b/lib/ansible/modules/extras/monitoring/airbrake_deployment.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: airbrake_deployment
diff --git a/lib/ansible/modules/extras/monitoring/bigpanda.py b/lib/ansible/modules/extras/monitoring/bigpanda.py
index eec08d80f45..446c1384a61 100644
--- a/lib/ansible/modules/extras/monitoring/bigpanda.py
+++ b/lib/ansible/modules/extras/monitoring/bigpanda.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigpanda
diff --git a/lib/ansible/modules/extras/monitoring/boundary_meter.py b/lib/ansible/modules/extras/monitoring/boundary_meter.py
index d41c2659abd..ccbf014026f 100644
--- a/lib/ansible/modules/extras/monitoring/boundary_meter.py
+++ b/lib/ansible/modules/extras/monitoring/boundary_meter.py
@@ -22,6 +22,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 
 module: boundary_meter
diff --git a/lib/ansible/modules/extras/monitoring/circonus_annotation.py b/lib/ansible/modules/extras/monitoring/circonus_annotation.py
index b72e43bee71..b2ec85c0db5 100644
--- a/lib/ansible/modules/extras/monitoring/circonus_annotation.py
+++ b/lib/ansible/modules/extras/monitoring/circonus_annotation.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: circonus_annotation
diff --git a/lib/ansible/modules/extras/monitoring/datadog_event.py b/lib/ansible/modules/extras/monitoring/datadog_event.py
index 30fb2cafd96..4e3bf03b159 100644
--- a/lib/ansible/modules/extras/monitoring/datadog_event.py
+++ b/lib/ansible/modules/extras/monitoring/datadog_event.py
@@ -29,6 +29,10 @@ try:
 except:
     HAS_DATADOG = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: datadog_event
diff --git a/lib/ansible/modules/extras/monitoring/datadog_monitor.py b/lib/ansible/modules/extras/monitoring/datadog_monitor.py
index d10dd70cff5..50a067d8a2a 100644
--- a/lib/ansible/modules/extras/monitoring/datadog_monitor.py
+++ b/lib/ansible/modules/extras/monitoring/datadog_monitor.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 # import module snippets
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: datadog_monitor
diff --git a/lib/ansible/modules/extras/monitoring/honeybadger_deployment.py b/lib/ansible/modules/extras/monitoring/honeybadger_deployment.py
index c9b62f0d439..362af67963a 100644
--- a/lib/ansible/modules/extras/monitoring/honeybadger_deployment.py
+++ b/lib/ansible/modules/extras/monitoring/honeybadger_deployment.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: honeybadger_deployment
diff --git a/lib/ansible/modules/extras/monitoring/librato_annotation.py b/lib/ansible/modules/extras/monitoring/librato_annotation.py
index d73de459834..838abf14e60 100644
--- a/lib/ansible/modules/extras/monitoring/librato_annotation.py
+++ b/lib/ansible/modules/extras/monitoring/librato_annotation.py
@@ -20,6 +20,10 @@
 #
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: librato_annotation
diff --git a/lib/ansible/modules/extras/monitoring/logentries.py b/lib/ansible/modules/extras/monitoring/logentries.py
index c772b6a1cd0..a85679ef2eb 100644
--- a/lib/ansible/modules/extras/monitoring/logentries.py
+++ b/lib/ansible/modules/extras/monitoring/logentries.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: logentries
diff --git a/lib/ansible/modules/extras/monitoring/logicmonitor.py b/lib/ansible/modules/extras/monitoring/logicmonitor.py
index 3f2267cfd76..f2267207a71 100644
--- a/lib/ansible/modules/extras/monitoring/logicmonitor.py
+++ b/lib/ansible/modules/extras/monitoring/logicmonitor.py
@@ -65,6 +65,10 @@ success:
 '''
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: logicmonitor
diff --git a/lib/ansible/modules/extras/monitoring/logicmonitor_facts.py b/lib/ansible/modules/extras/monitoring/logicmonitor_facts.py
index 71705052b1d..5ade901a76a 100644
--- a/lib/ansible/modules/extras/monitoring/logicmonitor_facts.py
+++ b/lib/ansible/modules/extras/monitoring/logicmonitor_facts.py
@@ -52,6 +52,10 @@ except ImportError:
         HAS_LIB_JSON = False
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: logicmonitor_facts
diff --git a/lib/ansible/modules/extras/monitoring/monit.py b/lib/ansible/modules/extras/monitoring/monit.py
index f7c46b86bec..5e88c7b54d8 100644
--- a/lib/ansible/modules/extras/monitoring/monit.py
+++ b/lib/ansible/modules/extras/monitoring/monit.py
@@ -20,6 +20,10 @@
 #
 import time
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: monit
diff --git a/lib/ansible/modules/extras/monitoring/nagios.py b/lib/ansible/modules/extras/monitoring/nagios.py
index 37cf4bbe408..dc3832701fe 100644
--- a/lib/ansible/modules/extras/monitoring/nagios.py
+++ b/lib/ansible/modules/extras/monitoring/nagios.py
@@ -15,6 +15,10 @@
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: nagios
diff --git a/lib/ansible/modules/extras/monitoring/newrelic_deployment.py b/lib/ansible/modules/extras/monitoring/newrelic_deployment.py
index 4d47169e89c..c8f8703230d 100644
--- a/lib/ansible/modules/extras/monitoring/newrelic_deployment.py
+++ b/lib/ansible/modules/extras/monitoring/newrelic_deployment.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: newrelic_deployment
diff --git a/lib/ansible/modules/extras/monitoring/pagerduty.py b/lib/ansible/modules/extras/monitoring/pagerduty.py
index e2ba95fef7d..43d93501c16 100644
--- a/lib/ansible/modules/extras/monitoring/pagerduty.py
+++ b/lib/ansible/modules/extras/monitoring/pagerduty.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 
 module: pagerduty
diff --git a/lib/ansible/modules/extras/monitoring/pagerduty_alert.py b/lib/ansible/modules/extras/monitoring/pagerduty_alert.py
index e2d127f0155..f011b902703 100644
--- a/lib/ansible/modules/extras/monitoring/pagerduty_alert.py
+++ b/lib/ansible/modules/extras/monitoring/pagerduty_alert.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 
 module: pagerduty_alert
diff --git a/lib/ansible/modules/extras/monitoring/pingdom.py b/lib/ansible/modules/extras/monitoring/pingdom.py
index e9511831aab..caed768d87f 100644
--- a/lib/ansible/modules/extras/monitoring/pingdom.py
+++ b/lib/ansible/modules/extras/monitoring/pingdom.py
@@ -15,6 +15,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 
 module: pingdom
diff --git a/lib/ansible/modules/extras/monitoring/rollbar_deployment.py b/lib/ansible/modules/extras/monitoring/rollbar_deployment.py
index c13186474c2..5ee332fcf2c 100644
--- a/lib/ansible/modules/extras/monitoring/rollbar_deployment.py
+++ b/lib/ansible/modules/extras/monitoring/rollbar_deployment.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: rollbar_deployment
diff --git a/lib/ansible/modules/extras/monitoring/sensu_check.py b/lib/ansible/modules/extras/monitoring/sensu_check.py
index 9acbfefa837..77a39647cf6 100644
--- a/lib/ansible/modules/extras/monitoring/sensu_check.py
+++ b/lib/ansible/modules/extras/monitoring/sensu_check.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: sensu_check
diff --git a/lib/ansible/modules/extras/monitoring/sensu_subscription.py b/lib/ansible/modules/extras/monitoring/sensu_subscription.py
index 192b474ee48..90535ad2d0b 100644
--- a/lib/ansible/modules/extras/monitoring/sensu_subscription.py
+++ b/lib/ansible/modules/extras/monitoring/sensu_subscription.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: sensu_subscription
diff --git a/lib/ansible/modules/extras/monitoring/stackdriver.py b/lib/ansible/modules/extras/monitoring/stackdriver.py
index 8747836f669..26bfb1c13f7 100644
--- a/lib/ansible/modules/extras/monitoring/stackdriver.py
+++ b/lib/ansible/modules/extras/monitoring/stackdriver.py
@@ -15,6 +15,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 
 module: stackdriver
diff --git a/lib/ansible/modules/extras/monitoring/statusio_maintenance.py b/lib/ansible/modules/extras/monitoring/statusio_maintenance.py
index 9e5beb3d68e..5533e454713 100644
--- a/lib/ansible/modules/extras/monitoring/statusio_maintenance.py
+++ b/lib/ansible/modules/extras/monitoring/statusio_maintenance.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 
 module: statusio_maintenance
diff --git a/lib/ansible/modules/extras/monitoring/uptimerobot.py b/lib/ansible/modules/extras/monitoring/uptimerobot.py
index 9e25434126a..b4f5c1d819f 100644
--- a/lib/ansible/modules/extras/monitoring/uptimerobot.py
+++ b/lib/ansible/modules/extras/monitoring/uptimerobot.py
@@ -15,6 +15,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 
 module: uptimerobot
diff --git a/lib/ansible/modules/extras/monitoring/zabbix_group.py b/lib/ansible/modules/extras/monitoring/zabbix_group.py
index 2dd8d98331e..ff90db01bea 100644
--- a/lib/ansible/modules/extras/monitoring/zabbix_group.py
+++ b/lib/ansible/modules/extras/monitoring/zabbix_group.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: zabbix_group
diff --git a/lib/ansible/modules/extras/monitoring/zabbix_host.py b/lib/ansible/modules/extras/monitoring/zabbix_host.py
index 611a5f9faa1..aa113efe508 100644
--- a/lib/ansible/modules/extras/monitoring/zabbix_host.py
+++ b/lib/ansible/modules/extras/monitoring/zabbix_host.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: zabbix_host
diff --git a/lib/ansible/modules/extras/monitoring/zabbix_hostmacro.py b/lib/ansible/modules/extras/monitoring/zabbix_hostmacro.py
index 39aaccce9e8..9415fa5c384 100644
--- a/lib/ansible/modules/extras/monitoring/zabbix_hostmacro.py
+++ b/lib/ansible/modules/extras/monitoring/zabbix_hostmacro.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: zabbix_hostmacro
diff --git a/lib/ansible/modules/extras/monitoring/zabbix_maintenance.py b/lib/ansible/modules/extras/monitoring/zabbix_maintenance.py
index 7fe0a494609..4d4c1d972a2 100644
--- a/lib/ansible/modules/extras/monitoring/zabbix_maintenance.py
+++ b/lib/ansible/modules/extras/monitoring/zabbix_maintenance.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 
 module: zabbix_maintenance
diff --git a/lib/ansible/modules/extras/monitoring/zabbix_screen.py b/lib/ansible/modules/extras/monitoring/zabbix_screen.py
index 85af561c965..7e0ade2abe7 100644
--- a/lib/ansible/modules/extras/monitoring/zabbix_screen.py
+++ b/lib/ansible/modules/extras/monitoring/zabbix_screen.py
@@ -20,6 +20,10 @@
 #
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: zabbix_screen
diff --git a/lib/ansible/modules/extras/network/a10/a10_server.py b/lib/ansible/modules/extras/network/a10/a10_server.py
index 38a3b1a3aa1..3a298cb25f4 100644
--- a/lib/ansible/modules/extras/network/a10/a10_server.py
+++ b/lib/ansible/modules/extras/network/a10/a10_server.py
@@ -22,6 +22,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: a10_server
diff --git a/lib/ansible/modules/extras/network/a10/a10_server_axapi3.py b/lib/ansible/modules/extras/network/a10/a10_server_axapi3.py
index 8363e548d10..46f7bf05746 100644
--- a/lib/ansible/modules/extras/network/a10/a10_server_axapi3.py
+++ b/lib/ansible/modules/extras/network/a10/a10_server_axapi3.py
@@ -21,6 +21,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: a10_server_axapi3
diff --git a/lib/ansible/modules/extras/network/a10/a10_service_group.py b/lib/ansible/modules/extras/network/a10/a10_service_group.py
index 39716fda49b..486fcb0b3e1 100644
--- a/lib/ansible/modules/extras/network/a10/a10_service_group.py
+++ b/lib/ansible/modules/extras/network/a10/a10_service_group.py
@@ -22,6 +22,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: a10_service_group
diff --git a/lib/ansible/modules/extras/network/a10/a10_virtual_server.py b/lib/ansible/modules/extras/network/a10/a10_virtual_server.py
index 783cfa4baa4..212e65203ac 100644
--- a/lib/ansible/modules/extras/network/a10/a10_virtual_server.py
+++ b/lib/ansible/modules/extras/network/a10/a10_virtual_server.py
@@ -22,6 +22,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: a10_virtual_server
diff --git a/lib/ansible/modules/extras/network/asa/asa_acl.py b/lib/ansible/modules/extras/network/asa/asa_acl.py
index fd547c69f89..366284155f2 100644
--- a/lib/ansible/modules/extras/network/asa/asa_acl.py
+++ b/lib/ansible/modules/extras/network/asa/asa_acl.py
@@ -16,6 +16,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: asa_acl
diff --git a/lib/ansible/modules/extras/network/asa/asa_command.py b/lib/ansible/modules/extras/network/asa/asa_command.py
index 9d013ebd197..3bffcca0425 100644
--- a/lib/ansible/modules/extras/network/asa/asa_command.py
+++ b/lib/ansible/modules/extras/network/asa/asa_command.py
@@ -17,6 +17,10 @@
 #
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: asa_command
diff --git a/lib/ansible/modules/extras/network/asa/asa_config.py b/lib/ansible/modules/extras/network/asa/asa_config.py
index 320255b46f0..ffd082684ec 100644
--- a/lib/ansible/modules/extras/network/asa/asa_config.py
+++ b/lib/ansible/modules/extras/network/asa/asa_config.py
@@ -16,6 +16,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: asa_config
diff --git a/lib/ansible/modules/extras/network/citrix/netscaler.py b/lib/ansible/modules/extras/network/citrix/netscaler.py
index c84cf740bd2..30442ade78c 100644
--- a/lib/ansible/modules/extras/network/citrix/netscaler.py
+++ b/lib/ansible/modules/extras/network/citrix/netscaler.py
@@ -21,6 +21,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: netscaler
diff --git a/lib/ansible/modules/extras/network/cloudflare_dns.py b/lib/ansible/modules/extras/network/cloudflare_dns.py
index dc0637bc618..88fe9d6a7d7 100644
--- a/lib/ansible/modules/extras/network/cloudflare_dns.py
+++ b/lib/ansible/modules/extras/network/cloudflare_dns.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cloudflare_dns
diff --git a/lib/ansible/modules/extras/network/dnsimple.py b/lib/ansible/modules/extras/network/dnsimple.py
index a11f2a3f5ee..034147b3e1c 100644
--- a/lib/ansible/modules/extras/network/dnsimple.py
+++ b/lib/ansible/modules/extras/network/dnsimple.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: dnsimple
diff --git a/lib/ansible/modules/extras/network/dnsmadeeasy.py b/lib/ansible/modules/extras/network/dnsmadeeasy.py
index c4007542a66..7650960e434 100644
--- a/lib/ansible/modules/extras/network/dnsmadeeasy.py
+++ b/lib/ansible/modules/extras/network/dnsmadeeasy.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: dnsmadeeasy
diff --git a/lib/ansible/modules/extras/network/exoscale/exo_dns_domain.py b/lib/ansible/modules/extras/network/exoscale/exo_dns_domain.py
index d886728bea5..b0046c803dc 100644
--- a/lib/ansible/modules/extras/network/exoscale/exo_dns_domain.py
+++ b/lib/ansible/modules/extras/network/exoscale/exo_dns_domain.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: exo_dns_domain
diff --git a/lib/ansible/modules/extras/network/exoscale/exo_dns_record.py b/lib/ansible/modules/extras/network/exoscale/exo_dns_record.py
index 6395990639e..495508d3d47 100644
--- a/lib/ansible/modules/extras/network/exoscale/exo_dns_record.py
+++ b/lib/ansible/modules/extras/network/exoscale/exo_dns_record.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: exo_dns_record
diff --git a/lib/ansible/modules/extras/network/f5/bigip_device_dns.py b/lib/ansible/modules/extras/network/f5/bigip_device_dns.py
index a3f855e6be8..a6c1e8e30d7 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_device_dns.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_device_dns.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_device_dns
diff --git a/lib/ansible/modules/extras/network/f5/bigip_device_ntp.py b/lib/ansible/modules/extras/network/f5/bigip_device_ntp.py
index 131380c265f..9ad12bd3f08 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_device_ntp.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_device_ntp.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_device_ntp
diff --git a/lib/ansible/modules/extras/network/f5/bigip_device_sshd.py b/lib/ansible/modules/extras/network/f5/bigip_device_sshd.py
index d69292f6017..87ffeb6bee0 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_device_sshd.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_device_sshd.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_device_sshd
diff --git a/lib/ansible/modules/extras/network/f5/bigip_facts.py b/lib/ansible/modules/extras/network/f5/bigip_facts.py
index dc6c6b7d1dc..33d5e1937e6 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_facts.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_facts.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_facts
diff --git a/lib/ansible/modules/extras/network/f5/bigip_gtm_datacenter.py b/lib/ansible/modules/extras/network/f5/bigip_gtm_datacenter.py
index 36308896ce1..fff876007cf 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_gtm_datacenter.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_gtm_datacenter.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_gtm_datacenter
diff --git a/lib/ansible/modules/extras/network/f5/bigip_gtm_facts.py b/lib/ansible/modules/extras/network/f5/bigip_gtm_facts.py
index bd54904f95c..9e3fc8b492f 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_gtm_facts.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_gtm_facts.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_gtm_facts
diff --git a/lib/ansible/modules/extras/network/f5/bigip_gtm_virtual_server.py b/lib/ansible/modules/extras/network/f5/bigip_gtm_virtual_server.py
index 9ddce19055a..d2d4dd3e66c 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_gtm_virtual_server.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_gtm_virtual_server.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_gtm_virtual_server
diff --git a/lib/ansible/modules/extras/network/f5/bigip_gtm_wide_ip.py b/lib/ansible/modules/extras/network/f5/bigip_gtm_wide_ip.py
index 5fee51509cd..a0eb48224b1 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_gtm_wide_ip.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_gtm_wide_ip.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_gtm_wide_ip
diff --git a/lib/ansible/modules/extras/network/f5/bigip_hostname.py b/lib/ansible/modules/extras/network/f5/bigip_hostname.py
index 72f423de142..9dc9d085c5a 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_hostname.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_hostname.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_hostname
diff --git a/lib/ansible/modules/extras/network/f5/bigip_irule.py b/lib/ansible/modules/extras/network/f5/bigip_irule.py
index f2be61dfd89..52b8f30fb58 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_irule.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_irule.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_irule
diff --git a/lib/ansible/modules/extras/network/f5/bigip_monitor_http.py b/lib/ansible/modules/extras/network/f5/bigip_monitor_http.py
index 3c303c3ce51..02017569c8c 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_monitor_http.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_monitor_http.py
@@ -20,6 +20,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_monitor_http
diff --git a/lib/ansible/modules/extras/network/f5/bigip_monitor_tcp.py b/lib/ansible/modules/extras/network/f5/bigip_monitor_tcp.py
index 45756b1ba28..aedc71f642b 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_monitor_tcp.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_monitor_tcp.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_monitor_tcp
diff --git a/lib/ansible/modules/extras/network/f5/bigip_node.py b/lib/ansible/modules/extras/network/f5/bigip_node.py
index 53a0b1973f2..08107f6e2ce 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_node.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_node.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_node
diff --git a/lib/ansible/modules/extras/network/f5/bigip_pool.py b/lib/ansible/modules/extras/network/f5/bigip_pool.py
index 69ee1c07508..eb6b8f3adaa 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_pool.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_pool.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_pool
diff --git a/lib/ansible/modules/extras/network/f5/bigip_pool_member.py b/lib/ansible/modules/extras/network/f5/bigip_pool_member.py
index f93ac271ec0..42d4538f9f6 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_pool_member.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_pool_member.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_pool_member
diff --git a/lib/ansible/modules/extras/network/f5/bigip_routedomain.py b/lib/ansible/modules/extras/network/f5/bigip_routedomain.py
index f679dd03819..7abe77abac2 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_routedomain.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_routedomain.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_routedomain
diff --git a/lib/ansible/modules/extras/network/f5/bigip_selfip.py b/lib/ansible/modules/extras/network/f5/bigip_selfip.py
index be7056f9001..f62191745b6 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_selfip.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_selfip.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_selfip
diff --git a/lib/ansible/modules/extras/network/f5/bigip_snat_pool.py b/lib/ansible/modules/extras/network/f5/bigip_snat_pool.py
index bacdf218cd6..52341e4dfe8 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_snat_pool.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_snat_pool.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_snat_pool
diff --git a/lib/ansible/modules/extras/network/f5/bigip_ssl_certificate.py b/lib/ansible/modules/extras/network/f5/bigip_ssl_certificate.py
index 9c6034d513e..fe0a753e834 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_ssl_certificate.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_ssl_certificate.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: bigip_ssl_certificate
 short_description: Import/Delete certificates from BIG-IP
diff --git a/lib/ansible/modules/extras/network/f5/bigip_sys_db.py b/lib/ansible/modules/extras/network/f5/bigip_sys_db.py
index 272fbf266c5..b451461b9c2 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_sys_db.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_sys_db.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_sys_db
diff --git a/lib/ansible/modules/extras/network/f5/bigip_sys_global.py b/lib/ansible/modules/extras/network/f5/bigip_sys_global.py
index 8a86ac50bba..7e6cfd78064 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_sys_global.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_sys_global.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_sys_global
diff --git a/lib/ansible/modules/extras/network/f5/bigip_virtual_server.py b/lib/ansible/modules/extras/network/f5/bigip_virtual_server.py
index f1c6905ca1d..ddcf2cd0e6a 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_virtual_server.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_virtual_server.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_virtual_server
diff --git a/lib/ansible/modules/extras/network/f5/bigip_vlan.py b/lib/ansible/modules/extras/network/f5/bigip_vlan.py
index 24e3a380295..40df948f6c6 100644
--- a/lib/ansible/modules/extras/network/f5/bigip_vlan.py
+++ b/lib/ansible/modules/extras/network/f5/bigip_vlan.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bigip_vlan
diff --git a/lib/ansible/modules/extras/network/haproxy.py b/lib/ansible/modules/extras/network/haproxy.py
index 4cfc8128674..5ee3006629e 100644
--- a/lib/ansible/modules/extras/network/haproxy.py
+++ b/lib/ansible/modules/extras/network/haproxy.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: haproxy
diff --git a/lib/ansible/modules/extras/network/illumos/dladm_etherstub.py b/lib/ansible/modules/extras/network/illumos/dladm_etherstub.py
index 3107f8e843e..861e0a70131 100644
--- a/lib/ansible/modules/extras/network/illumos/dladm_etherstub.py
+++ b/lib/ansible/modules/extras/network/illumos/dladm_etherstub.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: dladm_etherstub
diff --git a/lib/ansible/modules/extras/network/illumos/dladm_vnic.py b/lib/ansible/modules/extras/network/illumos/dladm_vnic.py
index c9d10a083eb..2860b8df102 100644
--- a/lib/ansible/modules/extras/network/illumos/dladm_vnic.py
+++ b/lib/ansible/modules/extras/network/illumos/dladm_vnic.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: dladm_vnic
diff --git a/lib/ansible/modules/extras/network/illumos/flowadm.py b/lib/ansible/modules/extras/network/illumos/flowadm.py
index 82e0250b701..8b5807f7090 100644
--- a/lib/ansible/modules/extras/network/illumos/flowadm.py
+++ b/lib/ansible/modules/extras/network/illumos/flowadm.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: flowadm
diff --git a/lib/ansible/modules/extras/network/illumos/ipadm_if.py b/lib/ansible/modules/extras/network/illumos/ipadm_if.py
index 06db3b6a656..d3d0c0af0bd 100644
--- a/lib/ansible/modules/extras/network/illumos/ipadm_if.py
+++ b/lib/ansible/modules/extras/network/illumos/ipadm_if.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipadm_if
diff --git a/lib/ansible/modules/extras/network/illumos/ipadm_prop.py b/lib/ansible/modules/extras/network/illumos/ipadm_prop.py
index 15410eb5e09..509ff82b1f7 100644
--- a/lib/ansible/modules/extras/network/illumos/ipadm_prop.py
+++ b/lib/ansible/modules/extras/network/illumos/ipadm_prop.py
@@ -19,6 +19,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipadm_prop
diff --git a/lib/ansible/modules/extras/network/ipify_facts.py b/lib/ansible/modules/extras/network/ipify_facts.py
index 7a07f577c2e..4ffe19d3f5c 100644
--- a/lib/ansible/modules/extras/network/ipify_facts.py
+++ b/lib/ansible/modules/extras/network/ipify_facts.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipify_facts
diff --git a/lib/ansible/modules/extras/network/ipinfoio_facts.py b/lib/ansible/modules/extras/network/ipinfoio_facts.py
index fadcaa5c8f0..748c49dcc9a 100644
--- a/lib/ansible/modules/extras/network/ipinfoio_facts.py
+++ b/lib/ansible/modules/extras/network/ipinfoio_facts.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': 'preview',
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipinfoio_facts
diff --git a/lib/ansible/modules/extras/network/lldp.py b/lib/ansible/modules/extras/network/lldp.py
index 42915d70c97..9a648f1f054 100644
--- a/lib/ansible/modules/extras/network/lldp.py
+++ b/lib/ansible/modules/extras/network/lldp.py
@@ -16,6 +16,10 @@
 
 import subprocess
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: lldp
diff --git a/lib/ansible/modules/extras/network/netconf/netconf_config.py b/lib/ansible/modules/extras/network/netconf/netconf_config.py
index 43baa63a5da..7ed79a908b5 100755
--- a/lib/ansible/modules/extras/network/netconf/netconf_config.py
+++ b/lib/ansible/modules/extras/network/netconf/netconf_config.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: netconf_config
diff --git a/lib/ansible/modules/extras/network/nmcli.py b/lib/ansible/modules/extras/network/nmcli.py
index 97bea2e255e..18ad3ae4132 100644
--- a/lib/ansible/modules/extras/network/nmcli.py
+++ b/lib/ansible/modules/extras/network/nmcli.py
@@ -19,6 +19,10 @@
 # along with Ansible.    If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION='''
 ---
 module: nmcli
diff --git a/lib/ansible/modules/extras/network/openvswitch_bridge.py b/lib/ansible/modules/extras/network/openvswitch_bridge.py
index 1b9a7f7abf9..9816e2bff3a 100644
--- a/lib/ansible/modules/extras/network/openvswitch_bridge.py
+++ b/lib/ansible/modules/extras/network/openvswitch_bridge.py
@@ -22,6 +22,10 @@
 
 # pylint: disable=C0111
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: openvswitch_bridge
diff --git a/lib/ansible/modules/extras/network/openvswitch_db.py b/lib/ansible/modules/extras/network/openvswitch_db.py
index 39f27649cfb..6d769e43672 100644
--- a/lib/ansible/modules/extras/network/openvswitch_db.py
+++ b/lib/ansible/modules/extras/network/openvswitch_db.py
@@ -23,6 +23,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: openvswitch_db
diff --git a/lib/ansible/modules/extras/network/openvswitch_port.py b/lib/ansible/modules/extras/network/openvswitch_port.py
index 26542161a60..7b00de29456 100644
--- a/lib/ansible/modules/extras/network/openvswitch_port.py
+++ b/lib/ansible/modules/extras/network/openvswitch_port.py
@@ -22,6 +22,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: openvswitch_port
diff --git a/lib/ansible/modules/extras/network/panos/panos_admin.py b/lib/ansible/modules/extras/network/panos/panos_admin.py
index b9e24241b04..dd36ac08977 100755
--- a/lib/ansible/modules/extras/network/panos/panos_admin.py
+++ b/lib/ansible/modules/extras/network/panos/panos_admin.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: panos_admin
diff --git a/lib/ansible/modules/extras/network/snmp_facts.py b/lib/ansible/modules/extras/network/snmp_facts.py
index eee7a4690ba..7801d0f2955 100644
--- a/lib/ansible/modules/extras/network/snmp_facts.py
+++ b/lib/ansible/modules/extras/network/snmp_facts.py
@@ -16,6 +16,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: snmp_facts
diff --git a/lib/ansible/modules/extras/network/wakeonlan.py b/lib/ansible/modules/extras/network/wakeonlan.py
index 4e7e7176fec..d49118d60ba 100644
--- a/lib/ansible/modules/extras/network/wakeonlan.py
+++ b/lib/ansible/modules/extras/network/wakeonlan.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: wakeonlan
diff --git a/lib/ansible/modules/extras/notification/campfire.py b/lib/ansible/modules/extras/notification/campfire.py
index 9f9c34c5da4..8a7b44355f4 100644
--- a/lib/ansible/modules/extras/notification/campfire.py
+++ b/lib/ansible/modules/extras/notification/campfire.py
@@ -15,6 +15,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: campfire
diff --git a/lib/ansible/modules/extras/notification/flowdock.py b/lib/ansible/modules/extras/notification/flowdock.py
index 7297ef1f63a..e0584295afa 100644
--- a/lib/ansible/modules/extras/notification/flowdock.py
+++ b/lib/ansible/modules/extras/notification/flowdock.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: flowdock
diff --git a/lib/ansible/modules/extras/notification/grove.py b/lib/ansible/modules/extras/notification/grove.py
index 9db937c0cf7..fe16289a220 100644
--- a/lib/ansible/modules/extras/notification/grove.py
+++ b/lib/ansible/modules/extras/notification/grove.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: grove
diff --git a/lib/ansible/modules/extras/notification/hall.py b/lib/ansible/modules/extras/notification/hall.py
index a42a2aeeeea..75350fb462e 100755
--- a/lib/ansible/modules/extras/notification/hall.py
+++ b/lib/ansible/modules/extras/notification/hall.py
@@ -18,7 +18,11 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
-    
+
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: hall
 short_description: Send notification to Hall
diff --git a/lib/ansible/modules/extras/notification/hipchat.py b/lib/ansible/modules/extras/notification/hipchat.py
index 3a77341b68c..66cdf360231 100644
--- a/lib/ansible/modules/extras/notification/hipchat.py
+++ b/lib/ansible/modules/extras/notification/hipchat.py
@@ -15,6 +15,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: hipchat
diff --git a/lib/ansible/modules/extras/notification/irc.py b/lib/ansible/modules/extras/notification/irc.py
index 6678e0eb4a4..7eaa8986e9b 100644
--- a/lib/ansible/modules/extras/notification/irc.py
+++ b/lib/ansible/modules/extras/notification/irc.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: irc
diff --git a/lib/ansible/modules/extras/notification/jabber.py b/lib/ansible/modules/extras/notification/jabber.py
index 4da7f8296fc..f68790fb296 100644
--- a/lib/ansible/modules/extras/notification/jabber.py
+++ b/lib/ansible/modules/extras/notification/jabber.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 version_added: "1.2"
diff --git a/lib/ansible/modules/extras/notification/mail.py b/lib/ansible/modules/extras/notification/mail.py
index f51982f37c1..51902f3f87f 100644
--- a/lib/ansible/modules/extras/notification/mail.py
+++ b/lib/ansible/modules/extras/notification/mail.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 author: "Dag Wieers (@dagwieers)" 
diff --git a/lib/ansible/modules/extras/notification/mqtt.py b/lib/ansible/modules/extras/notification/mqtt.py
index 36bbf44d7b6..c8adfc0d0e2 100644
--- a/lib/ansible/modules/extras/notification/mqtt.py
+++ b/lib/ansible/modules/extras/notification/mqtt.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: mqtt
diff --git a/lib/ansible/modules/extras/notification/nexmo.py b/lib/ansible/modules/extras/notification/nexmo.py
index fa6b0b2225a..9fafcc03769 100644
--- a/lib/ansible/modules/extras/notification/nexmo.py
+++ b/lib/ansible/modules/extras/notification/nexmo.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: nexmo
 short_description: Send a SMS via nexmo
diff --git a/lib/ansible/modules/extras/notification/osx_say.py b/lib/ansible/modules/extras/notification/osx_say.py
index 1153a4c88dc..6b0e114c3b4 100644
--- a/lib/ansible/modules/extras/notification/osx_say.py
+++ b/lib/ansible/modules/extras/notification/osx_say.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: osx_say
diff --git a/lib/ansible/modules/extras/notification/pushbullet.py b/lib/ansible/modules/extras/notification/pushbullet.py
index 6dd2c2232cb..6f20708a9a5 100644
--- a/lib/ansible/modules/extras/notification/pushbullet.py
+++ b/lib/ansible/modules/extras/notification/pushbullet.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 author: Willy Barro
diff --git a/lib/ansible/modules/extras/notification/pushover.py b/lib/ansible/modules/extras/notification/pushover.py
index ac924193fec..294da075cec 100644
--- a/lib/ansible/modules/extras/notification/pushover.py
+++ b/lib/ansible/modules/extras/notification/pushover.py
@@ -20,6 +20,10 @@
 
 ###
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: pushover
diff --git a/lib/ansible/modules/extras/notification/rocketchat.py b/lib/ansible/modules/extras/notification/rocketchat.py
index ffce79712b1..f7089f7984f 100644
--- a/lib/ansible/modules/extras/notification/rocketchat.py
+++ b/lib/ansible/modules/extras/notification/rocketchat.py
@@ -20,6 +20,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: rocketchat
 short_description: Send notifications to Rocket Chat
diff --git a/lib/ansible/modules/extras/notification/sendgrid.py b/lib/ansible/modules/extras/notification/sendgrid.py
index ac2db6b1ce7..b0821983dc7 100644
--- a/lib/ansible/modules/extras/notification/sendgrid.py
+++ b/lib/ansible/modules/extras/notification/sendgrid.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 version_added: "2.0"
diff --git a/lib/ansible/modules/extras/notification/slack.py b/lib/ansible/modules/extras/notification/slack.py
index 3639b6d8ac0..3d50e89df95 100644
--- a/lib/ansible/modules/extras/notification/slack.py
+++ b/lib/ansible/modules/extras/notification/slack.py
@@ -20,6 +20,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: slack
 short_description: Send Slack notifications
diff --git a/lib/ansible/modules/extras/notification/sns.py b/lib/ansible/modules/extras/notification/sns.py
index 4eb79e13ade..8e5a07dad63 100644
--- a/lib/ansible/modules/extras/notification/sns.py
+++ b/lib/ansible/modules/extras/notification/sns.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: sns
 short_description: Send Amazon Simple Notification Service (SNS) messages
diff --git a/lib/ansible/modules/extras/notification/telegram.py b/lib/ansible/modules/extras/notification/telegram.py
index a12fd46929d..57746cf06ae 100644
--- a/lib/ansible/modules/extras/notification/telegram.py
+++ b/lib/ansible/modules/extras/notification/telegram.py
@@ -20,6 +20,10 @@
 #
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 
 module: telegram
diff --git a/lib/ansible/modules/extras/notification/twilio.py b/lib/ansible/modules/extras/notification/twilio.py
index 2c7275a3e9f..1d7e059e5c8 100644
--- a/lib/ansible/modules/extras/notification/twilio.py
+++ b/lib/ansible/modules/extras/notification/twilio.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 version_added: "1.6"
diff --git a/lib/ansible/modules/extras/notification/typetalk.py b/lib/ansible/modules/extras/notification/typetalk.py
index 4d4cf8a2f8a..f638be09ab2 100644
--- a/lib/ansible/modules/extras/notification/typetalk.py
+++ b/lib/ansible/modules/extras/notification/typetalk.py
@@ -15,6 +15,10 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: typetalk
diff --git a/lib/ansible/modules/extras/packaging/dpkg_selections.py b/lib/ansible/modules/extras/packaging/dpkg_selections.py
index bf13dc13fd7..f26ad68f02d 100644
--- a/lib/ansible/modules/extras/packaging/dpkg_selections.py
+++ b/lib/ansible/modules/extras/packaging/dpkg_selections.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: dpkg_selections
diff --git a/lib/ansible/modules/extras/packaging/elasticsearch_plugin.py b/lib/ansible/modules/extras/packaging/elasticsearch_plugin.py
index 5ca77f1bc70..ca4d75dfbf7 100644
--- a/lib/ansible/modules/extras/packaging/elasticsearch_plugin.py
+++ b/lib/ansible/modules/extras/packaging/elasticsearch_plugin.py
@@ -22,6 +22,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: elasticsearch_plugin
diff --git a/lib/ansible/modules/extras/packaging/kibana_plugin.py b/lib/ansible/modules/extras/packaging/kibana_plugin.py
index e877d756b08..91e2f23cf57 100644
--- a/lib/ansible/modules/extras/packaging/kibana_plugin.py
+++ b/lib/ansible/modules/extras/packaging/kibana_plugin.py
@@ -23,6 +23,10 @@ along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 import os
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: kibana_plugin
diff --git a/lib/ansible/modules/extras/packaging/language/bower.py b/lib/ansible/modules/extras/packaging/language/bower.py
index 1627741d5a6..489ab3cb804 100644
--- a/lib/ansible/modules/extras/packaging/language/bower.py
+++ b/lib/ansible/modules/extras/packaging/language/bower.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: bower
diff --git a/lib/ansible/modules/extras/packaging/language/bundler.py b/lib/ansible/modules/extras/packaging/language/bundler.py
index fc647862fd8..e7950b08548 100644
--- a/lib/ansible/modules/extras/packaging/language/bundler.py
+++ b/lib/ansible/modules/extras/packaging/language/bundler.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION='''
 ---
 module: bundler
diff --git a/lib/ansible/modules/extras/packaging/language/composer.py b/lib/ansible/modules/extras/packaging/language/composer.py
index 9ff393b25b7..172acb4ad1c 100644
--- a/lib/ansible/modules/extras/packaging/language/composer.py
+++ b/lib/ansible/modules/extras/packaging/language/composer.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: composer
diff --git a/lib/ansible/modules/extras/packaging/language/cpanm.py b/lib/ansible/modules/extras/packaging/language/cpanm.py
index addf0c198d7..59677698069 100644
--- a/lib/ansible/modules/extras/packaging/language/cpanm.py
+++ b/lib/ansible/modules/extras/packaging/language/cpanm.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: cpanm
diff --git a/lib/ansible/modules/extras/packaging/language/maven_artifact.py b/lib/ansible/modules/extras/packaging/language/maven_artifact.py
index 3e7fddbd0af..d4a241d0e9d 100644
--- a/lib/ansible/modules/extras/packaging/language/maven_artifact.py
+++ b/lib/ansible/modules/extras/packaging/language/maven_artifact.py
@@ -35,6 +35,10 @@ try:
 except ImportError:
     HAS_BOTO = False
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: maven_artifact
diff --git a/lib/ansible/modules/extras/packaging/language/npm.py b/lib/ansible/modules/extras/packaging/language/npm.py
index 4b147e37035..b1df88e60a2 100644
--- a/lib/ansible/modules/extras/packaging/language/npm.py
+++ b/lib/ansible/modules/extras/packaging/language/npm.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: npm
diff --git a/lib/ansible/modules/extras/packaging/language/pear.py b/lib/ansible/modules/extras/packaging/language/pear.py
index 880c275f25b..0379538874d 100644
--- a/lib/ansible/modules/extras/packaging/language/pear.py
+++ b/lib/ansible/modules/extras/packaging/language/pear.py
@@ -20,6 +20,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: pear
diff --git a/lib/ansible/modules/extras/packaging/os/apk.py b/lib/ansible/modules/extras/packaging/os/apk.py
index 898b69a3043..8d8c5a6f808 100644
--- a/lib/ansible/modules/extras/packaging/os/apk.py
+++ b/lib/ansible/modules/extras/packaging/os/apk.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: apk
diff --git a/lib/ansible/modules/extras/packaging/os/dnf.py b/lib/ansible/modules/extras/packaging/os/dnf.py
index 56af89f5446..d21670ae115 100644
--- a/lib/ansible/modules/extras/packaging/os/dnf.py
+++ b/lib/ansible/modules/extras/packaging/os/dnf.py
@@ -20,6 +20,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: dnf
diff --git a/lib/ansible/modules/extras/packaging/os/homebrew.py b/lib/ansible/modules/extras/packaging/os/homebrew.py
index be67b6b9182..4a1ab598e0d 100755
--- a/lib/ansible/modules/extras/packaging/os/homebrew.py
+++ b/lib/ansible/modules/extras/packaging/os/homebrew.py
@@ -20,6 +20,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: homebrew
diff --git a/lib/ansible/modules/extras/packaging/os/homebrew_cask.py b/lib/ansible/modules/extras/packaging/os/homebrew_cask.py
index fdfa3f0cdbf..86d7f35e0ca 100755
--- a/lib/ansible/modules/extras/packaging/os/homebrew_cask.py
+++ b/lib/ansible/modules/extras/packaging/os/homebrew_cask.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: homebrew_cask
diff --git a/lib/ansible/modules/extras/packaging/os/homebrew_tap.py b/lib/ansible/modules/extras/packaging/os/homebrew_tap.py
index 2a981deaeb8..649a32f1b89 100644
--- a/lib/ansible/modules/extras/packaging/os/homebrew_tap.py
+++ b/lib/ansible/modules/extras/packaging/os/homebrew_tap.py
@@ -23,6 +23,10 @@
 
 import re
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: homebrew_tap
diff --git a/lib/ansible/modules/extras/packaging/os/layman.py b/lib/ansible/modules/extras/packaging/os/layman.py
index f18d0eaa0a7..440001b48a0 100644
--- a/lib/ansible/modules/extras/packaging/os/layman.py
+++ b/lib/ansible/modules/extras/packaging/os/layman.py
@@ -21,6 +21,10 @@
 import shutil
 from os import path
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: layman
diff --git a/lib/ansible/modules/extras/packaging/os/macports.py b/lib/ansible/modules/extras/packaging/os/macports.py
index 81cf4827f1e..071ca589538 100644
--- a/lib/ansible/modules/extras/packaging/os/macports.py
+++ b/lib/ansible/modules/extras/packaging/os/macports.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: macports
diff --git a/lib/ansible/modules/extras/packaging/os/openbsd_pkg.py b/lib/ansible/modules/extras/packaging/os/openbsd_pkg.py
index f86a4d081ae..7d0e9ac9459 100644
--- a/lib/ansible/modules/extras/packaging/os/openbsd_pkg.py
+++ b/lib/ansible/modules/extras/packaging/os/openbsd_pkg.py
@@ -26,6 +26,10 @@ import sqlite3
 
 from distutils.version import StrictVersion
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: openbsd_pkg
diff --git a/lib/ansible/modules/extras/packaging/os/opkg.py b/lib/ansible/modules/extras/packaging/os/opkg.py
index 50b37d3cdb5..6360f45af33 100644
--- a/lib/ansible/modules/extras/packaging/os/opkg.py
+++ b/lib/ansible/modules/extras/packaging/os/opkg.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: opkg
diff --git a/lib/ansible/modules/extras/packaging/os/pacman.py b/lib/ansible/modules/extras/packaging/os/pacman.py
index c27a67c9e7b..89766a49745 100644
--- a/lib/ansible/modules/extras/packaging/os/pacman.py
+++ b/lib/ansible/modules/extras/packaging/os/pacman.py
@@ -20,6 +20,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: pacman
diff --git a/lib/ansible/modules/extras/packaging/os/pkg5.py b/lib/ansible/modules/extras/packaging/os/pkg5.py
index bd10ad87c8f..55483ed8da2 100644
--- a/lib/ansible/modules/extras/packaging/os/pkg5.py
+++ b/lib/ansible/modules/extras/packaging/os/pkg5.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: pkg5
diff --git a/lib/ansible/modules/extras/packaging/os/pkg5_publisher.py b/lib/ansible/modules/extras/packaging/os/pkg5_publisher.py
index a1b1f4f1d52..d42f9dc6481 100644
--- a/lib/ansible/modules/extras/packaging/os/pkg5_publisher.py
+++ b/lib/ansible/modules/extras/packaging/os/pkg5_publisher.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: pkg5_publisher
diff --git a/lib/ansible/modules/extras/packaging/os/pkgin.py b/lib/ansible/modules/extras/packaging/os/pkgin.py
index 19f9a157b37..8e75f2d18ce 100755
--- a/lib/ansible/modules/extras/packaging/os/pkgin.py
+++ b/lib/ansible/modules/extras/packaging/os/pkgin.py
@@ -23,6 +23,10 @@
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: pkgin
diff --git a/lib/ansible/modules/extras/packaging/os/pkgng.py b/lib/ansible/modules/extras/packaging/os/pkgng.py
index d583e59c0c3..9bf0e868663 100644
--- a/lib/ansible/modules/extras/packaging/os/pkgng.py
+++ b/lib/ansible/modules/extras/packaging/os/pkgng.py
@@ -21,6 +21,10 @@
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: pkgng
diff --git a/lib/ansible/modules/extras/packaging/os/pkgutil.py b/lib/ansible/modules/extras/packaging/os/pkgutil.py
index 5323581ba57..a54e96eeb08 100644
--- a/lib/ansible/modules/extras/packaging/os/pkgutil.py
+++ b/lib/ansible/modules/extras/packaging/os/pkgutil.py
@@ -21,6 +21,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: pkgutil 
diff --git a/lib/ansible/modules/extras/packaging/os/portage.py b/lib/ansible/modules/extras/packaging/os/portage.py
index dc4c22890f6..5debeda058c 100644
--- a/lib/ansible/modules/extras/packaging/os/portage.py
+++ b/lib/ansible/modules/extras/packaging/os/portage.py
@@ -21,6 +21,10 @@
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: portage
diff --git a/lib/ansible/modules/extras/packaging/os/portinstall.py b/lib/ansible/modules/extras/packaging/os/portinstall.py
index 78555a02194..ccd301e526a 100644
--- a/lib/ansible/modules/extras/packaging/os/portinstall.py
+++ b/lib/ansible/modules/extras/packaging/os/portinstall.py
@@ -19,6 +19,10 @@
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: portinstall
diff --git a/lib/ansible/modules/extras/packaging/os/slackpkg.py b/lib/ansible/modules/extras/packaging/os/slackpkg.py
index 4945403bb97..af5739d57ca 100644
--- a/lib/ansible/modules/extras/packaging/os/slackpkg.py
+++ b/lib/ansible/modules/extras/packaging/os/slackpkg.py
@@ -22,6 +22,10 @@
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: slackpkg
diff --git a/lib/ansible/modules/extras/packaging/os/svr4pkg.py b/lib/ansible/modules/extras/packaging/os/svr4pkg.py
index 8f1528c938b..bb37efc1d7f 100644
--- a/lib/ansible/modules/extras/packaging/os/svr4pkg.py
+++ b/lib/ansible/modules/extras/packaging/os/svr4pkg.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: svr4pkg
diff --git a/lib/ansible/modules/extras/packaging/os/swdepot.py b/lib/ansible/modules/extras/packaging/os/swdepot.py
index 017e91b0b58..6ea7d1059be 100644
--- a/lib/ansible/modules/extras/packaging/os/swdepot.py
+++ b/lib/ansible/modules/extras/packaging/os/swdepot.py
@@ -21,6 +21,10 @@
 import re
 import pipes
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: swdepot
diff --git a/lib/ansible/modules/extras/packaging/os/urpmi.py b/lib/ansible/modules/extras/packaging/os/urpmi.py
index 934ef11ee22..e995f1d4894 100644
--- a/lib/ansible/modules/extras/packaging/os/urpmi.py
+++ b/lib/ansible/modules/extras/packaging/os/urpmi.py
@@ -19,6 +19,10 @@
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: urpmi
diff --git a/lib/ansible/modules/extras/packaging/os/yum_repository.py b/lib/ansible/modules/extras/packaging/os/yum_repository.py
index f54d1bd7663..9aec9300e07 100644
--- a/lib/ansible/modules/extras/packaging/os/yum_repository.py
+++ b/lib/ansible/modules/extras/packaging/os/yum_repository.py
@@ -25,6 +25,10 @@ from ansible.module_utils.pycompat24 import get_exception
 from ansible.module_utils.six.moves import configparser
 
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: yum_repository
diff --git a/lib/ansible/modules/extras/packaging/os/zypper.py b/lib/ansible/modules/extras/packaging/os/zypper.py
index c91528b2199..837a7ef4774 100644
--- a/lib/ansible/modules/extras/packaging/os/zypper.py
+++ b/lib/ansible/modules/extras/packaging/os/zypper.py
@@ -29,6 +29,10 @@
 from xml.dom.minidom import parseString as parseXML
 import re
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: zypper
diff --git a/lib/ansible/modules/extras/packaging/os/zypper_repository.py b/lib/ansible/modules/extras/packaging/os/zypper_repository.py
index 7fae6065bcb..187e5803674 100644
--- a/lib/ansible/modules/extras/packaging/os/zypper_repository.py
+++ b/lib/ansible/modules/extras/packaging/os/zypper_repository.py
@@ -20,6 +20,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: zypper_repository
diff --git a/lib/ansible/modules/extras/remote_management/ipmi/ipmi_boot.py b/lib/ansible/modules/extras/remote_management/ipmi/ipmi_boot.py
index 6c0c9cdc12a..06281d4d46f 100644
--- a/lib/ansible/modules/extras/remote_management/ipmi/ipmi_boot.py
+++ b/lib/ansible/modules/extras/remote_management/ipmi/ipmi_boot.py
@@ -24,6 +24,10 @@ except ImportError:
 from ansible.module_utils.basic import *
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipmi_boot
diff --git a/lib/ansible/modules/extras/remote_management/ipmi/ipmi_power.py b/lib/ansible/modules/extras/remote_management/ipmi/ipmi_power.py
index fc702fa1def..b661be4c535 100644
--- a/lib/ansible/modules/extras/remote_management/ipmi/ipmi_power.py
+++ b/lib/ansible/modules/extras/remote_management/ipmi/ipmi_power.py
@@ -24,6 +24,10 @@ except ImportError:
 from ansible.module_utils.basic import *
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ipmi_power
diff --git a/lib/ansible/modules/extras/source_control/bzr.py b/lib/ansible/modules/extras/source_control/bzr.py
index 961c715d905..f66c00abf82 100644
--- a/lib/ansible/modules/extras/source_control/bzr.py
+++ b/lib/ansible/modules/extras/source_control/bzr.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = u'''
 ---
 module: bzr
diff --git a/lib/ansible/modules/extras/source_control/git_config.py b/lib/ansible/modules/extras/source_control/git_config.py
index 7ce01cd9c4e..16f2457dd98 100644
--- a/lib/ansible/modules/extras/source_control/git_config.py
+++ b/lib/ansible/modules/extras/source_control/git_config.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: git_config
diff --git a/lib/ansible/modules/extras/source_control/github_hooks.py b/lib/ansible/modules/extras/source_control/github_hooks.py
index 0430b44007e..ce76b503c23 100644
--- a/lib/ansible/modules/extras/source_control/github_hooks.py
+++ b/lib/ansible/modules/extras/source_control/github_hooks.py
@@ -29,6 +29,10 @@ except ImportError:
 
 import base64
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: github_hooks
diff --git a/lib/ansible/modules/extras/source_control/github_key.py b/lib/ansible/modules/extras/source_control/github_key.py
index c27285625a4..cc54734e004 100644
--- a/lib/ansible/modules/extras/source_control/github_key.py
+++ b/lib/ansible/modules/extras/source_control/github_key.py
@@ -14,6 +14,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: github_key
 short_description: Manage GitHub access keys.
diff --git a/lib/ansible/modules/extras/source_control/github_release.py b/lib/ansible/modules/extras/source_control/github_release.py
index daeb005e87c..ac59e6b69ae 100644
--- a/lib/ansible/modules/extras/source_control/github_release.py
+++ b/lib/ansible/modules/extras/source_control/github_release.py
@@ -17,6 +17,10 @@
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: github_release
diff --git a/lib/ansible/modules/extras/source_control/gitlab_group.py b/lib/ansible/modules/extras/source_control/gitlab_group.py
index a5fa98d13f1..4c133028474 100644
--- a/lib/ansible/modules/extras/source_control/gitlab_group.py
+++ b/lib/ansible/modules/extras/source_control/gitlab_group.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: gitlab_group
diff --git a/lib/ansible/modules/extras/source_control/gitlab_project.py b/lib/ansible/modules/extras/source_control/gitlab_project.py
index da21589186c..94852afac86 100644
--- a/lib/ansible/modules/extras/source_control/gitlab_project.py
+++ b/lib/ansible/modules/extras/source_control/gitlab_project.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: gitlab_project
diff --git a/lib/ansible/modules/extras/source_control/gitlab_user.py b/lib/ansible/modules/extras/source_control/gitlab_user.py
index 826b9f6f691..e289d70e2c0 100644
--- a/lib/ansible/modules/extras/source_control/gitlab_user.py
+++ b/lib/ansible/modules/extras/source_control/gitlab_user.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: gitlab_user
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_amg.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_amg.py
index 44189988be4..e5f60b29454 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_amg.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_amg.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: netapp_e_amg
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_amg_role.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_amg_role.py
index 7a2f1bdf18b..bfe3c4b8334 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_amg_role.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_amg_role.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: netapp_e_amg_role
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_amg_sync.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_amg_sync.py
index a86b594f3b0..548b115ff0a 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_amg_sync.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_amg_sync.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: netapp_e_amg_sync
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_auth.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_auth.py
index c22de91cd12..19bdb0bfea5 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_auth.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_auth.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: netapp_e_auth
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_facts.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_facts.py
index 37e3f827627..5a877afab61 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_facts.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_facts.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: netapp_e_facts
 version_added: '2.2'
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_flashcache.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_flashcache.py
index 5fa4a669747..da7d520542b 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_flashcache.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_flashcache.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: netapp_e_flashcache
 author: Kevin Hulquest (@hulquest)
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_host.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_host.py
index 2261d8264de..458bb6fb8b6 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_host.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_host.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: netapp_e_host
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_hostgroup.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_hostgroup.py
index 5248c1d9531..f89397af59d 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_hostgroup.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_hostgroup.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: netapp_e_hostgroup
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_lun_mapping.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_lun_mapping.py
index be3c27515e5..5c9d71973b4 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_lun_mapping.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_lun_mapping.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: netapp_e_lun_mapping
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_group.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_group.py
index 90c6e8471bb..f0464bbf7c8 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_group.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_group.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: netapp_e_snapshot_group
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_images.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_images.py
index 8c81af84535..460d1a2a0c1 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_images.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_images.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: netapp_e_snapshot_images
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_volume.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_volume.py
index 9a143bd4125..afc6e340aaf 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_volume.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_snapshot_volume.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: netapp_e_snapshot_volume
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_storage_system.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_storage_system.py
index 40ef893ad9b..64414af6f1e 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_storage_system.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_storage_system.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: netapp_e_storage_system
 version_added: "2.2"
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_storagepool.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_storagepool.py
index 1d86ef46f6b..89309708efd 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_storagepool.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_storagepool.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: netapp_e_storagepool
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_volume.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_volume.py
index 09825c5201e..26107965855 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_volume.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_volume.py
@@ -20,6 +20,10 @@
 
 from ansible.module_utils.api import basic_auth_argument_spec
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: netapp_e_volume
diff --git a/lib/ansible/modules/extras/storage/netapp/netapp_e_volume_copy.py b/lib/ansible/modules/extras/storage/netapp/netapp_e_volume_copy.py
index f715c84088f..179ee8ff5ad 100644
--- a/lib/ansible/modules/extras/storage/netapp/netapp_e_volume_copy.py
+++ b/lib/ansible/modules/extras/storage/netapp/netapp_e_volume_copy.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: netapp_e_volume_copy
diff --git a/lib/ansible/modules/extras/system/alternatives.py b/lib/ansible/modules/extras/system/alternatives.py
index f4ae56ebe93..833ef27aaa5 100644
--- a/lib/ansible/modules/extras/system/alternatives.py
+++ b/lib/ansible/modules/extras/system/alternatives.py
@@ -22,6 +22,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: alternatives
diff --git a/lib/ansible/modules/extras/system/at.py b/lib/ansible/modules/extras/system/at.py
index 9c5f10b5947..2c01c5d3195 100644
--- a/lib/ansible/modules/extras/system/at.py
+++ b/lib/ansible/modules/extras/system/at.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: at
diff --git a/lib/ansible/modules/extras/system/capabilities.py b/lib/ansible/modules/extras/system/capabilities.py
index 67cd66b2b0c..27f3c7519cc 100644
--- a/lib/ansible/modules/extras/system/capabilities.py
+++ b/lib/ansible/modules/extras/system/capabilities.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: capabilities
diff --git a/lib/ansible/modules/extras/system/cronvar.py b/lib/ansible/modules/extras/system/cronvar.py
index d4e9b909588..bb6983cf6ba 100644
--- a/lib/ansible/modules/extras/system/cronvar.py
+++ b/lib/ansible/modules/extras/system/cronvar.py
@@ -26,6 +26,10 @@
 # This module is based on the crontab module.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: cronvar
diff --git a/lib/ansible/modules/extras/system/crypttab.py b/lib/ansible/modules/extras/system/crypttab.py
index 27523415dfb..f957a51293a 100644
--- a/lib/ansible/modules/extras/system/crypttab.py
+++ b/lib/ansible/modules/extras/system/crypttab.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: crypttab
diff --git a/lib/ansible/modules/extras/system/debconf.py b/lib/ansible/modules/extras/system/debconf.py
index 3c9218b408e..224f2fbcb9b 100644
--- a/lib/ansible/modules/extras/system/debconf.py
+++ b/lib/ansible/modules/extras/system/debconf.py
@@ -21,6 +21,10 @@ You should have received a copy of the GNU General Public License
 along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: debconf
diff --git a/lib/ansible/modules/extras/system/facter.py b/lib/ansible/modules/extras/system/facter.py
index 834428cb698..a89aabead22 100644
--- a/lib/ansible/modules/extras/system/facter.py
+++ b/lib/ansible/modules/extras/system/facter.py
@@ -20,6 +20,10 @@
 #
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: facter
diff --git a/lib/ansible/modules/extras/system/filesystem.py b/lib/ansible/modules/extras/system/filesystem.py
index 70c7c320b31..d49360f09bc 100644
--- a/lib/ansible/modules/extras/system/filesystem.py
+++ b/lib/ansible/modules/extras/system/filesystem.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 author: "Alexander Bulimov (@abulimov)"
diff --git a/lib/ansible/modules/extras/system/firewalld.py b/lib/ansible/modules/extras/system/firewalld.py
index 2c89a574500..4f8a4fd7e6f 100644
--- a/lib/ansible/modules/extras/system/firewalld.py
+++ b/lib/ansible/modules/extras/system/firewalld.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: firewalld
diff --git a/lib/ansible/modules/extras/system/getent.py b/lib/ansible/modules/extras/system/getent.py
index 8e3103ae790..276fb7a08ca 100644
--- a/lib/ansible/modules/extras/system/getent.py
+++ b/lib/ansible/modules/extras/system/getent.py
@@ -20,6 +20,10 @@
 #
 
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: getent
diff --git a/lib/ansible/modules/extras/system/gluster_volume.py b/lib/ansible/modules/extras/system/gluster_volume.py
index f34511a3eaf..7fcca45886d 100644
--- a/lib/ansible/modules/extras/system/gluster_volume.py
+++ b/lib/ansible/modules/extras/system/gluster_volume.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: gluster_volume
 short_description: Manage GlusterFS volumes
diff --git a/lib/ansible/modules/extras/system/iptables.py b/lib/ansible/modules/extras/system/iptables.py
index 8a08e38d785..521ad6b043a 100644
--- a/lib/ansible/modules/extras/system/iptables.py
+++ b/lib/ansible/modules/extras/system/iptables.py
@@ -23,6 +23,10 @@ BINS = dict(
     ipv6='ip6tables',
 )
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: iptables
diff --git a/lib/ansible/modules/extras/system/kernel_blacklist.py b/lib/ansible/modules/extras/system/kernel_blacklist.py
index 701ba883517..5498f10b3a1 100644
--- a/lib/ansible/modules/extras/system/kernel_blacklist.py
+++ b/lib/ansible/modules/extras/system/kernel_blacklist.py
@@ -22,6 +22,10 @@ import os
 import re
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: kernel_blacklist
diff --git a/lib/ansible/modules/extras/system/known_hosts.py b/lib/ansible/modules/extras/system/known_hosts.py
index 656fb38d4a1..69210d9fdf2 100644
--- a/lib/ansible/modules/extras/system/known_hosts.py
+++ b/lib/ansible/modules/extras/system/known_hosts.py
@@ -18,6 +18,10 @@ You should have received a copy of the GNU General Public License
 along with this module.  If not, see <http://www.gnu.org/licenses/>.
 """
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: known_hosts
diff --git a/lib/ansible/modules/extras/system/locale_gen.py b/lib/ansible/modules/extras/system/locale_gen.py
index 6736a952f4b..04394a26dc7 100644
--- a/lib/ansible/modules/extras/system/locale_gen.py
+++ b/lib/ansible/modules/extras/system/locale_gen.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: locale_gen
diff --git a/lib/ansible/modules/extras/system/lvg.py b/lib/ansible/modules/extras/system/lvg.py
index 427cb1b1c1d..9c638f4d317 100644
--- a/lib/ansible/modules/extras/system/lvg.py
+++ b/lib/ansible/modules/extras/system/lvg.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 author: "Alexander Bulimov (@abulimov)"
diff --git a/lib/ansible/modules/extras/system/lvol.py b/lib/ansible/modules/extras/system/lvol.py
index c3213bdd241..3ab60cb40ac 100644
--- a/lib/ansible/modules/extras/system/lvol.py
+++ b/lib/ansible/modules/extras/system/lvol.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 author:
diff --git a/lib/ansible/modules/extras/system/make.py b/lib/ansible/modules/extras/system/make.py
index 5207470bb0d..2b618db9fac 100644
--- a/lib/ansible/modules/extras/system/make.py
+++ b/lib/ansible/modules/extras/system/make.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: make
diff --git a/lib/ansible/modules/extras/system/modprobe.py b/lib/ansible/modules/extras/system/modprobe.py
index ef5a9dd4ed8..d84f0d3377d 100644
--- a/lib/ansible/modules/extras/system/modprobe.py
+++ b/lib/ansible/modules/extras/system/modprobe.py
@@ -19,6 +19,10 @@
 # along with this software.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: modprobe
diff --git a/lib/ansible/modules/extras/system/ohai.py b/lib/ansible/modules/extras/system/ohai.py
index 0fe76098474..4a5e772c257 100644
--- a/lib/ansible/modules/extras/system/ohai.py
+++ b/lib/ansible/modules/extras/system/ohai.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ohai
diff --git a/lib/ansible/modules/extras/system/open_iscsi.py b/lib/ansible/modules/extras/system/open_iscsi.py
index 71eeda1aa8c..2e3c0e838f8 100644
--- a/lib/ansible/modules/extras/system/open_iscsi.py
+++ b/lib/ansible/modules/extras/system/open_iscsi.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: open_iscsi
diff --git a/lib/ansible/modules/extras/system/openwrt_init.py b/lib/ansible/modules/extras/system/openwrt_init.py
index 297826076c1..7b4f7f79d37 100644
--- a/lib/ansible/modules/extras/system/openwrt_init.py
+++ b/lib/ansible/modules/extras/system/openwrt_init.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 module: openwrt_init
 author:
diff --git a/lib/ansible/modules/extras/system/osx_defaults.py b/lib/ansible/modules/extras/system/osx_defaults.py
index f199250a5ce..5f79cdce8d5 100644
--- a/lib/ansible/modules/extras/system/osx_defaults.py
+++ b/lib/ansible/modules/extras/system/osx_defaults.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: osx_defaults
diff --git a/lib/ansible/modules/extras/system/pam_limits.py b/lib/ansible/modules/extras/system/pam_limits.py
index 1993310af5d..a4434fcf154 100644
--- a/lib/ansible/modules/extras/system/pam_limits.py
+++ b/lib/ansible/modules/extras/system/pam_limits.py
@@ -23,6 +23,10 @@ import os.path
 import shutil
 import re
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: pam_limits
diff --git a/lib/ansible/modules/extras/system/puppet.py b/lib/ansible/modules/extras/system/puppet.py
index 6686682cae1..15acb97d262 100644
--- a/lib/ansible/modules/extras/system/puppet.py
+++ b/lib/ansible/modules/extras/system/puppet.py
@@ -29,6 +29,10 @@ except ImportError:
         pass
 
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: puppet
diff --git a/lib/ansible/modules/extras/system/sefcontext.py b/lib/ansible/modules/extras/system/sefcontext.py
index 120481cad3b..f1000b34cc1 100644
--- a/lib/ansible/modules/extras/system/sefcontext.py
+++ b/lib/ansible/modules/extras/system/sefcontext.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: sefcontext
diff --git a/lib/ansible/modules/extras/system/selinux_permissive.py b/lib/ansible/modules/extras/system/selinux_permissive.py
index 5a357493a0e..02c197839bb 100644
--- a/lib/ansible/modules/extras/system/selinux_permissive.py
+++ b/lib/ansible/modules/extras/system/selinux_permissive.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: selinux_permissive
diff --git a/lib/ansible/modules/extras/system/seport.py b/lib/ansible/modules/extras/system/seport.py
index 0bd3a889727..fb6c01db635 100644
--- a/lib/ansible/modules/extras/system/seport.py
+++ b/lib/ansible/modules/extras/system/seport.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: seport
diff --git a/lib/ansible/modules/extras/system/solaris_zone.py b/lib/ansible/modules/extras/system/solaris_zone.py
index aa4895fa22b..667f3701302 100644
--- a/lib/ansible/modules/extras/system/solaris_zone.py
+++ b/lib/ansible/modules/extras/system/solaris_zone.py
@@ -22,6 +22,10 @@ import os
 import platform
 import tempfile
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: solaris_zone
diff --git a/lib/ansible/modules/extras/system/svc.py b/lib/ansible/modules/extras/system/svc.py
index 43eea5b0f7b..378d647bee9 100755
--- a/lib/ansible/modules/extras/system/svc.py
+++ b/lib/ansible/modules/extras/system/svc.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>
 
+ANSIBLE_METADATA = {'status': ['stableinterface'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: svc
diff --git a/lib/ansible/modules/extras/system/timezone.py b/lib/ansible/modules/extras/system/timezone.py
index c750611c9be..7d8d9aef76c 100644
--- a/lib/ansible/modules/extras/system/timezone.py
+++ b/lib/ansible/modules/extras/system/timezone.py
@@ -24,6 +24,10 @@ from ansible.module_utils.basic import AnsibleModule, get_platform
 from ansible.module_utils.six import iteritems
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: timezone
diff --git a/lib/ansible/modules/extras/system/ufw.py b/lib/ansible/modules/extras/system/ufw.py
index c0f48fca667..6d381785bc5 100644
--- a/lib/ansible/modules/extras/system/ufw.py
+++ b/lib/ansible/modules/extras/system/ufw.py
@@ -21,6 +21,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ufw
diff --git a/lib/ansible/modules/extras/system/zfs.py b/lib/ansible/modules/extras/system/zfs.py
index 7dda883b893..d95971455ed 100644
--- a/lib/ansible/modules/extras/system/zfs.py
+++ b/lib/ansible/modules/extras/system/zfs.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: zfs
diff --git a/lib/ansible/modules/extras/univention/udm_dns_record.py b/lib/ansible/modules/extras/univention/udm_dns_record.py
index 538b747c919..02e00d80334 100644
--- a/lib/ansible/modules/extras/univention/udm_dns_record.py
+++ b/lib/ansible/modules/extras/univention/udm_dns_record.py
@@ -36,6 +36,10 @@ from univention.admin.handlers.dns import (
 )
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: udm_dns_record
diff --git a/lib/ansible/modules/extras/univention/udm_dns_zone.py b/lib/ansible/modules/extras/univention/udm_dns_zone.py
index dd576f4e574..2d7bbd09070 100644
--- a/lib/ansible/modules/extras/univention/udm_dns_zone.py
+++ b/lib/ansible/modules/extras/univention/udm_dns_zone.py
@@ -30,6 +30,10 @@ from ansible.module_utils.univention_umc import (
 )
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: udm_dns_zone
diff --git a/lib/ansible/modules/extras/univention/udm_group.py b/lib/ansible/modules/extras/univention/udm_group.py
index 1db030efa98..82ef43faef5 100644
--- a/lib/ansible/modules/extras/univention/udm_group.py
+++ b/lib/ansible/modules/extras/univention/udm_group.py
@@ -30,6 +30,10 @@ from ansible.module_utils.univention_umc import (
 )
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: udm_group
diff --git a/lib/ansible/modules/extras/univention/udm_share.py b/lib/ansible/modules/extras/univention/udm_share.py
index 2f7febfdd40..7cb472c3141 100644
--- a/lib/ansible/modules/extras/univention/udm_share.py
+++ b/lib/ansible/modules/extras/univention/udm_share.py
@@ -30,6 +30,10 @@ from ansible.module_utils.univention_umc import (
 )
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: udm_share
diff --git a/lib/ansible/modules/extras/univention/udm_user.py b/lib/ansible/modules/extras/univention/udm_user.py
index ecd6e86546b..ac2d8acb11e 100644
--- a/lib/ansible/modules/extras/univention/udm_user.py
+++ b/lib/ansible/modules/extras/univention/udm_user.py
@@ -33,6 +33,10 @@ from ansible.module_utils.univention_umc import (
 from dateutil.relativedelta import relativedelta
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: udm_user
diff --git a/lib/ansible/modules/extras/web_infrastructure/apache2_mod_proxy.py b/lib/ansible/modules/extras/web_infrastructure/apache2_mod_proxy.py
index 34bc0c80e45..4d2f2c39a8f 100644
--- a/lib/ansible/modules/extras/web_infrastructure/apache2_mod_proxy.py
+++ b/lib/ansible/modules/extras/web_infrastructure/apache2_mod_proxy.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: apache2_mod_proxy
diff --git a/lib/ansible/modules/extras/web_infrastructure/deploy_helper.py b/lib/ansible/modules/extras/web_infrastructure/deploy_helper.py
index 6fbdd14151d..a40abda2427 100644
--- a/lib/ansible/modules/extras/web_infrastructure/deploy_helper.py
+++ b/lib/ansible/modules/extras/web_infrastructure/deploy_helper.py
@@ -19,6 +19,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: deploy_helper
diff --git a/lib/ansible/modules/extras/web_infrastructure/ejabberd_user.py b/lib/ansible/modules/extras/web_infrastructure/ejabberd_user.py
index 989145a36f8..84a8dadbf63 100644
--- a/lib/ansible/modules/extras/web_infrastructure/ejabberd_user.py
+++ b/lib/ansible/modules/extras/web_infrastructure/ejabberd_user.py
@@ -16,6 +16,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: ejabberd_user
diff --git a/lib/ansible/modules/extras/web_infrastructure/jboss.py b/lib/ansible/modules/extras/web_infrastructure/jboss.py
index 8957f1b31de..738b536782d 100644
--- a/lib/ansible/modules/extras/web_infrastructure/jboss.py
+++ b/lib/ansible/modules/extras/web_infrastructure/jboss.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: jboss
 version_added: "1.4"
diff --git a/lib/ansible/modules/extras/web_infrastructure/jenkins_job.py b/lib/ansible/modules/extras/web_infrastructure/jenkins_job.py
index af5a28c3e9c..0c91c8b876e 100644
--- a/lib/ansible/modules/extras/web_infrastructure/jenkins_job.py
+++ b/lib/ansible/modules/extras/web_infrastructure/jenkins_job.py
@@ -13,6 +13,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: jenkins_job
diff --git a/lib/ansible/modules/extras/web_infrastructure/jenkins_plugin.py b/lib/ansible/modules/extras/web_infrastructure/jenkins_plugin.py
index b08f7541a98..56067c38a60 100644
--- a/lib/ansible/modules/extras/web_infrastructure/jenkins_plugin.py
+++ b/lib/ansible/modules/extras/web_infrastructure/jenkins_plugin.py
@@ -32,6 +32,10 @@ import time
 import urllib
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: jenkins_plugin
diff --git a/lib/ansible/modules/extras/web_infrastructure/jira.py b/lib/ansible/modules/extras/web_infrastructure/jira.py
index 3947f15f32b..aca751801c4 100755
--- a/lib/ansible/modules/extras/web_infrastructure/jira.py
+++ b/lib/ansible/modules/extras/web_infrastructure/jira.py
@@ -20,6 +20,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 module: jira
 version_added: "1.6"
diff --git a/lib/ansible/modules/extras/web_infrastructure/letsencrypt.py b/lib/ansible/modules/extras/web_infrastructure/letsencrypt.py
index 03c9932f1ab..8d290b3984c 100644
--- a/lib/ansible/modules/extras/web_infrastructure/letsencrypt.py
+++ b/lib/ansible/modules/extras/web_infrastructure/letsencrypt.py
@@ -24,6 +24,10 @@ import locale
 import textwrap
 from datetime import datetime
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: letsencrypt
diff --git a/lib/ansible/modules/extras/web_infrastructure/nginx_status_facts.py b/lib/ansible/modules/extras/web_infrastructure/nginx_status_facts.py
index 970cd3fb5ee..dd2fbd5ee17 100644
--- a/lib/ansible/modules/extras/web_infrastructure/nginx_status_facts.py
+++ b/lib/ansible/modules/extras/web_infrastructure/nginx_status_facts.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: nginx_status_facts
diff --git a/lib/ansible/modules/extras/web_infrastructure/taiga_issue.py b/lib/ansible/modules/extras/web_infrastructure/taiga_issue.py
index e58c6c0270b..03be0952862 100644
--- a/lib/ansible/modules/extras/web_infrastructure/taiga_issue.py
+++ b/lib/ansible/modules/extras/web_infrastructure/taiga_issue.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: taiga_issue
diff --git a/lib/ansible/modules/extras/windows/win_acl.py b/lib/ansible/modules/extras/windows/win_acl.py
index cd25af0a34e..4e6e9cb7ad6 100644
--- a/lib/ansible/modules/extras/windows/win_acl.py
+++ b/lib/ansible/modules/extras/windows/win_acl.py
@@ -23,6 +23,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_acl
diff --git a/lib/ansible/modules/extras/windows/win_acl_inheritance.py b/lib/ansible/modules/extras/windows/win_acl_inheritance.py
index a4bb90a47b3..549ce629335 100644
--- a/lib/ansible/modules/extras/windows/win_acl_inheritance.py
+++ b/lib/ansible/modules/extras/windows/win_acl_inheritance.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_acl_inheritance
diff --git a/lib/ansible/modules/extras/windows/win_chocolatey.py b/lib/ansible/modules/extras/windows/win_chocolatey.py
index 6182852a532..26fefb15497 100644
--- a/lib/ansible/modules/extras/windows/win_chocolatey.py
+++ b/lib/ansible/modules/extras/windows/win_chocolatey.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'committer',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_chocolatey
diff --git a/lib/ansible/modules/extras/windows/win_dotnet_ngen.py b/lib/ansible/modules/extras/windows/win_dotnet_ngen.py
index 75ce9cc138b..9fb7e44e016 100644
--- a/lib/ansible/modules/extras/windows/win_dotnet_ngen.py
+++ b/lib/ansible/modules/extras/windows/win_dotnet_ngen.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_dotnet_ngen
diff --git a/lib/ansible/modules/extras/windows/win_environment.py b/lib/ansible/modules/extras/windows/win_environment.py
index 522eff6a8d3..f66771a758d 100644
--- a/lib/ansible/modules/extras/windows/win_environment.py
+++ b/lib/ansible/modules/extras/windows/win_environment.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_environment
diff --git a/lib/ansible/modules/extras/windows/win_file_version.py b/lib/ansible/modules/extras/windows/win_file_version.py
index 71aae57135a..f882a4439de 100644
--- a/lib/ansible/modules/extras/windows/win_file_version.py
+++ b/lib/ansible/modules/extras/windows/win_file_version.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_file_version
diff --git a/lib/ansible/modules/extras/windows/win_firewall_rule.py b/lib/ansible/modules/extras/windows/win_firewall_rule.py
index 3ed0f7e3e7b..1a5c699f795 100644
--- a/lib/ansible/modules/extras/windows/win_firewall_rule.py
+++ b/lib/ansible/modules/extras/windows/win_firewall_rule.py
@@ -17,6 +17,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_firewall_rule
diff --git a/lib/ansible/modules/extras/windows/win_iis_virtualdirectory.py b/lib/ansible/modules/extras/windows/win_iis_virtualdirectory.py
index 4754c3802d9..0b5a40f0d04 100644
--- a/lib/ansible/modules/extras/windows/win_iis_virtualdirectory.py
+++ b/lib/ansible/modules/extras/windows/win_iis_virtualdirectory.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_iis_virtualdirectory
diff --git a/lib/ansible/modules/extras/windows/win_iis_webapplication.py b/lib/ansible/modules/extras/windows/win_iis_webapplication.py
index b8ebd085162..26177eb90b2 100644
--- a/lib/ansible/modules/extras/windows/win_iis_webapplication.py
+++ b/lib/ansible/modules/extras/windows/win_iis_webapplication.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_iis_webapplication
diff --git a/lib/ansible/modules/extras/windows/win_iis_webapppool.py b/lib/ansible/modules/extras/windows/win_iis_webapppool.py
index c77c3b04cb7..e2cb8778b5f 100644
--- a/lib/ansible/modules/extras/windows/win_iis_webapppool.py
+++ b/lib/ansible/modules/extras/windows/win_iis_webapppool.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_iis_webapppool
diff --git a/lib/ansible/modules/extras/windows/win_iis_webbinding.py b/lib/ansible/modules/extras/windows/win_iis_webbinding.py
index 0aa1ee12594..c7a08628f48 100644
--- a/lib/ansible/modules/extras/windows/win_iis_webbinding.py
+++ b/lib/ansible/modules/extras/windows/win_iis_webbinding.py
@@ -19,6 +19,10 @@
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_iis_webbinding
diff --git a/lib/ansible/modules/extras/windows/win_iis_website.py b/lib/ansible/modules/extras/windows/win_iis_website.py
index b158fb8d8ac..9c65c067c95 100644
--- a/lib/ansible/modules/extras/windows/win_iis_website.py
+++ b/lib/ansible/modules/extras/windows/win_iis_website.py
@@ -18,6 +18,10 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_iis_website
diff --git a/lib/ansible/modules/extras/windows/win_nssm.py b/lib/ansible/modules/extras/windows/win_nssm.py
index 462f01edba2..0dad49ae14c 100644
--- a/lib/ansible/modules/extras/windows/win_nssm.py
+++ b/lib/ansible/modules/extras/windows/win_nssm.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_nssm
diff --git a/lib/ansible/modules/extras/windows/win_owner.py b/lib/ansible/modules/extras/windows/win_owner.py
index 1b16c1b727f..b3ad35b40a6 100644
--- a/lib/ansible/modules/extras/windows/win_owner.py
+++ b/lib/ansible/modules/extras/windows/win_owner.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_owner
diff --git a/lib/ansible/modules/extras/windows/win_package.py b/lib/ansible/modules/extras/windows/win_package.py
index e8a91176c3e..9c358fcd845 100644
--- a/lib/ansible/modules/extras/windows/win_package.py
+++ b/lib/ansible/modules/extras/windows/win_package.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_package
diff --git a/lib/ansible/modules/extras/windows/win_regedit.py b/lib/ansible/modules/extras/windows/win_regedit.py
index d9de288e687..693b4c2f370 100644
--- a/lib/ansible/modules/extras/windows/win_regedit.py
+++ b/lib/ansible/modules/extras/windows/win_regedit.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_regedit
diff --git a/lib/ansible/modules/extras/windows/win_regmerge.py b/lib/ansible/modules/extras/windows/win_regmerge.py
index 6507b84b9c2..cefc98029a4 100644
--- a/lib/ansible/modules/extras/windows/win_regmerge.py
+++ b/lib/ansible/modules/extras/windows/win_regmerge.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_regmerge
diff --git a/lib/ansible/modules/extras/windows/win_robocopy.py b/lib/ansible/modules/extras/windows/win_robocopy.py
index d627918e521..c29c07604bb 100644
--- a/lib/ansible/modules/extras/windows/win_robocopy.py
+++ b/lib/ansible/modules/extras/windows/win_robocopy.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: win_robocopy
diff --git a/lib/ansible/modules/extras/windows/win_say.py b/lib/ansible/modules/extras/windows/win_say.py
index 9fadddeeda8..61fa74b9c87 100644
--- a/lib/ansible/modules/extras/windows/win_say.py
+++ b/lib/ansible/modules/extras/windows/win_say.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_say
diff --git a/lib/ansible/modules/extras/windows/win_scheduled_task.py b/lib/ansible/modules/extras/windows/win_scheduled_task.py
index a4acd06754f..ea1e202be7c 100644
--- a/lib/ansible/modules/extras/windows/win_scheduled_task.py
+++ b/lib/ansible/modules/extras/windows/win_scheduled_task.py
@@ -18,6 +18,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_scheduled_task
diff --git a/lib/ansible/modules/extras/windows/win_share.py b/lib/ansible/modules/extras/windows/win_share.py
index e7c87ccf8a4..a3be5c9af24 100644
--- a/lib/ansible/modules/extras/windows/win_share.py
+++ b/lib/ansible/modules/extras/windows/win_share.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_share
diff --git a/lib/ansible/modules/extras/windows/win_timezone.py b/lib/ansible/modules/extras/windows/win_timezone.py
index 2f7cf1fdc4b..02b9bb9c457 100644
--- a/lib/ansible/modules/extras/windows/win_timezone.py
+++ b/lib/ansible/modules/extras/windows/win_timezone.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_timezone
diff --git a/lib/ansible/modules/extras/windows/win_unzip.py b/lib/ansible/modules/extras/windows/win_unzip.py
index 56862dc615d..cef6a1b4a2a 100644
--- a/lib/ansible/modules/extras/windows/win_unzip.py
+++ b/lib/ansible/modules/extras/windows/win_unzip.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_unzip
diff --git a/lib/ansible/modules/extras/windows/win_updates.py b/lib/ansible/modules/extras/windows/win_updates.py
index 8700126c180..3fa5d0e3278 100644
--- a/lib/ansible/modules/extras/windows/win_updates.py
+++ b/lib/ansible/modules/extras/windows/win_updates.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'core',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_updates
diff --git a/lib/ansible/modules/extras/windows/win_uri.py b/lib/ansible/modules/extras/windows/win_uri.py
index c65f3ab536a..b2c9c747c55 100644
--- a/lib/ansible/modules/extras/windows/win_uri.py
+++ b/lib/ansible/modules/extras/windows/win_uri.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = """
 ---
 module: win_uri
diff --git a/lib/ansible/modules/extras/windows/win_webpicmd.py b/lib/ansible/modules/extras/windows/win_webpicmd.py
index 215123cef8c..3fc9d7d4335 100644
--- a/lib/ansible/modules/extras/windows/win_webpicmd.py
+++ b/lib/ansible/modules/extras/windows/win_webpicmd.py
@@ -21,6 +21,10 @@
 # this is a windows documentation stub.  actual code lives in the .ps1
 # file of the same name
 
+ANSIBLE_METADATA = {'status': ['preview'],
+                    'supported_by': 'community',
+                    'version': '1.0'}
+
 DOCUMENTATION = '''
 ---
 module: win_webpicmd